-1

我正在扩展一个类,它使用OptionParser来解析命令行选项。

我希望我的班级处理最后一个选项之后剩余的参数。Ruby 中是否有与Coptind中调用者可用的等价物getopt(3)

某种确定方法,在其中找到了多少个选项ARGV- 所以我可以shift通过那么多来跳过选项并只处理参数

例如,我可以访问opt_parser对象本身。也许,我能从中算出,我的ARGV它消耗了多少块吗?

4

1 回答 1

1

我不明白你的问题,你能添加一个最小的例子来说明你的问题。

如果我使用以下选项运行这个最小示例-v test

require 'optparse'

#Anlegen des Parsers
opts = OptionParser.new()
opts.on("-v", "--[no-]verbose", "Run verbosely") { |v|
  puts "->Verbose is #{v.inspect}"
}

opts.parse!

puts "Remaining ARGV: %s" % ARGV.inspect

然后我得到结果

->Verbose is true
Remaining ARGV: ["test"]

解析选项后,ARGV 包含剩余的参数。

于 2016-05-02T20:31:47.440 回答