2

可能重复:
Ruby OptionParser 空开关“-”行为

我编写了使用 OptionParser 优雅地处理命令行输入的代码。我面临两个重大打击。

  1. 传递一个空开关 '-' 不会产生错误。
  2. 该程序需要两个强制开关,但它接受一个开关而不会抱怨!

对于第一种情况,我这样做了:

opts.on('-', '--') do |value|
  $stderr.print "Invalid empty switch"
  exit 1
end

编辑(很快就成功了):它适用于空开关的情况,但也适用于开关不为空的情况。我怎样才能做到这一点?

对于第二种情况,我在 OptionParser.new 块中四处寻找解决方案,但找不到。在 OptionParser.new 块之外做是正常的方式吗?

4

0 回答 0