来自http://ruby-doc.org/stdlib-2.1.5/libdoc/optparse/rdoc/OptionParser.html的 OptionParser 的“最小示例” :
require 'optparse'
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
options[:verbose] = v
end
end.parse!
p options
p ARGV
主要问题:
- 那里的具体内容是
opts
什么?它是新的 OptionParser 实例,还是传递给脚本的所有/-\w/
或看起来的东西?/--\w+/
作为推论,这是否do
阻塞了循环? - 做什么
parse!
?为什么在整个do
区块上调用它?
还想知道:
- 方法是什么
OptionParser#banner
?您会在什么情况下看到该文本? - 在什么情况下,您会看到该示例中传递给 OptionParser 的第三个参数,即对标志效果的简短描述?
- 如果脚本使用未知选项运行,如何创建自定义错误消息?