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

ruby option parser. Is there a way to add a hidden option?

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

谢谢!

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

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

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

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