来自OptionParser的http://ruby-doc.org/stdlib-2.1.5/libdoc/optparse/rdoc/OptionParser.html的“最小示例”
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+/-looking?作为推论,do是否阻塞了一个循环?parse!是做什么的?为什么在整个do块上调用它?还想知道:
OptionParser#banner方法?你会在什么背景下看到那篇文章?发布于 2014-12-01 22:58:46
opts只是OptionParser的新实例。提供给.new的块使用以下行运行:
如果block_given,屈服自我?parse!与parse是一样的,但它具有破坏性,这意味着它将从ARGV中删除使用过的开关。在整个do ... end块上调用它,因为返回的值是新的OptionParser实例。banner获取摘要的标题,可以用opts.banner = "foo"设置-h标志)将显示描述:
用法: example.rb options -v,-逐字运行OptionParser::InvalidOption异常:
解析器= OptionParser.new .开始parser.parse!救援选项分析者:“无效的args!”结束https://stackoverflow.com/questions/27238536
复制相似问题