在以下脚本中,短选项按预期工作,长选项不起作用:

#!/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/

10-12 12:23
查看更多