ruby选项解析器。有没有办法添加隐藏选项?

时间:2016-07-22 14:46:28

标签: ruby optionparser

ruby​​中有没有办法向optionParser添加一个选项,只有知道它的用户才能添加它,并且它不会显示在选项列表中?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是在选项解析器上调用parse!之前单独解析隐藏选项。

if ARGV.delete '--secret'
  ...
end

OptionParser.new do |opts|
  ...
end.parse!

虽然这意味着您需要手动处理隐藏选项解析。或者,您可以为隐藏选项定义单独的OptionParser并在解析时解救OptionParser::InvalidOption,然后使用普通解析器进行解析。但这对指定选项的顺序很敏感。