У меня есть программа, которая создает электронные письма, что я хочу сделать, когда задан флаг -t
, и при этом флаг не указан, по умолчанию что-то, а выводит обычный: <main>': missing argument: -t (OptionParser::MissingArgument)
Как по умолчанию информация, если ни один не указан с помощью optparse
Так что мой вопрос заключается в том, если у меня есть этот флаг:
require 'optparse'
OPTIONS = {}
OptionParser.new do |opts|
opts.on('-t INPUT', '--type INPUT', 'Specify who to say hello to'){ |o| OPTIONS[:type] = o }
end.parse!
def say_hello
puts "Hello #{OPTIONS[:type]}"
end
case
when OPTIONS[:type]
say_hello
else
puts "Hello World"
end
и я бегу этот флаг без необходимого аргумента INPUT
, как я могу получить программу, чтобы из положить Hello World
вместо : <main>': missing argument: -t (OptionParser::MissingArgument)
?
Примеры:
C:\Users\bin\ruby\test_folder>ruby opt.rb -t hello
Hello hello
C:\Users\bin\ruby\test_folder>ruby opt.rb -t
opt.rb:7:in `<main>': missing argument: -t (OptionParser::MissingArgument)
C:\Users\bin\ruby\test_folder>