我正在使用Ruby的OptionParser
。
在其他语言如C、Python等中,也有类似的命令行参数解析器,它们通常提供一种在未提供参数或参数错误时显示帮助信息的方式。
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: calc.rb [options]"
opts.on("-l", "--length L", Integer, "Length") { |l| options[:length] = l }
opts.on("-w", "--width W", Integer, "Width") { |w| options[:width] = w }
opts.on_tail("-h", "--help", "Show this message") do
puts opts
exit
end
end.parse!
问题:
- 是否有一种方法可以默认显示
帮助
消息,如果没有传递参数(ruby calc.rb
)? - 如果必需参数未给出或无效怎么办?假设
length
是必需的参数,用户没有传递它或传递了类似于-l FOO
这样错误的内容怎么办?
ARGV.push('-h') if ARGV.empty?
。 - Малъ Скрылевъ