Ruby OptionParser:隐藏命令选项的帮助文本

Ruby“OptionParser将根据此描述为您自动生成帮助屏幕”[http://ruby.about.com/od/advancedruby/a/optionparser.htm]

有没有办法删除命令选项的帮助文本。 我可以使用隐藏命令,而是使用命令选项(切换)并隐藏其帮助上下文。

我能够把一个不那么优雅的解决方案扔到一起。 它将隐藏主帮助屏幕中的选项,听起来它可能符合您的需求:

require 'optparse' options = {} OptionParser.new do |opts| opts.banner = "Usage: #{$0} [options]" opts.on("-a", "--argument 1,2,3", Array, "Array of arguments") { |a| options[:array] = a } opts.on("-v", "--verbose", "Verbose output") { |v| options[:verbose] = true } opts.on("-h", "--help", "Display this help") do hidden_switch = "--argument" #Typecast opts to a string, split into an array of lines, delete the line #if it contains the argument, and then rejoins them into a string puts opts.to_s.split("\n").delete_if { |line| line =~ /#{hidden_switch}/ }.join("\n") exit end end 

如果你要运行–help,你会看到这个输出:

 Usage: test.rb [options] -v, --verbose Verbose output -h, --help Display this help