在以下脚本中,短选项按预期工作,长选项不起作用:
#!/usr/bin/env ruby
require 'optparse'
optparse = OptionParser.new do|opts|
opts.on( '-h', '--help', 'Display standard help') do puts opts end
opts.on( '-H', '--Help', 'Display other help' ) do puts 'Help!' end
end
optparse.parse!
下面是运行时的结果:
$ ./test -h
Usage: t [options]
-h, --help Display standard help
-H, --Help Display other help
$ ./test -H
Help!
$ ./test --help
Help!
$ ./test --Help
Help!
有没有办法让
--help
生成与 -h
相同的输出? 最佳答案
是的,长选项似乎不区分大小写。这是惯例,我想。从未见过具有区分大小写的长名称的工具。
查看来源:https://github.com/ruby/ruby/blob/b4974e71dcb32d430d7d686c5de247218991ec6c/lib/optparse.rb#L1408
您可以复制和修改 OptionParser
的源代码,但您可能不应该这样做。 :)
关于ruby - 使用 OptionParser 的长选项名称是否不区分大小写?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28499471/