我编写了使用 OptionParser 优雅地处理命令行输入的代码。我面临两个重大打击。
- 传递一个空开关 '-' 不会产生错误。
- 该程序需要两个强制开关,但它接受一个开关而不会抱怨!
对于第一种情况,我这样做了:
opts.on('-', '--') do |value|
$stderr.print "Invalid empty switch"
exit 1
end
编辑(很快就成功了):它适用于空开关的情况,但也适用于开关不为空的情况。我怎样才能做到这一点?
对于第二种情况,我在 OptionParser.new 块中四处寻找解决方案,但找不到。在 OptionParser.new 块之外做是正常的方式吗?