编辑:
我编写了使用OptionParser优雅地处理命令行输入的代码。我正面临两大打击。
program.ruby -f foo -b bar是有效的输入,两个开关都是:必需的。但只提供一个开关通过,没有问题,这不是想要的行为。对于第一个案例,我已经这样做了:
opts.on('-', /\A-\Z/) do
$stderr.print "Invalid empty switch"
exit 1
end效果很好。但这是正确的做法吗?
对于第二种情况,我已经在OptionParser.new块中四处寻找解决方案,但是找不到。例如:
unless options.foo && options.bar
puts "Error."
exit 2
end在OptionParser.new块之外这样做是正常的吗?
发布于 2012-04-06 11:23:22
发布于 2012-04-06 04:29:52
我认为Thor(https://github.com/wycats/thor)可以更有效地解决您的问题。
https://stackoverflow.com/questions/10037585
复制相似问题