如何更改optpasse';ruby中的默认错误消息?

如何更改optpasse';ruby中的默认错误消息?,ruby,Ruby,ruby a.rb-a显示: a.rb:3:in`:缺少参数:-a(OptionParser::MissingArgument) ruby a.rb-b显示: a.rb:3:in`:无效选项:-b(OptionParser::invalidooption) 我想显示我的帮助消息,我该怎么做?实际上,您可以在OptionParser.new的块中使用on\u tail 但是,由于您只是尝试使用ARGV.getopts,因此显示您自己的帮助消息的黑客程序将拯救异常: require 'optpa

ruby a.rb-a
显示:

a.rb:3:in`:缺少参数:-a(OptionParser::MissingArgument)
ruby a.rb-b
显示:

a.rb:3:in`:无效选项:-b(OptionParser::invalidooption)

我想显示我的帮助消息,我该怎么做?

实际上,您可以在OptionParser.new的块中使用on\u tail

但是,由于您只是尝试使用ARGV.getopts,因此显示您自己的帮助消息的黑客程序将拯救异常:

require 'optparse'
params = ARGV.getopts("a:", "AA")  
require 'optparse'

help_msg = <<EOM
This is help message:
Hello buddy, you may do something wrong
...
EOM

begin
  params = ARGV.getopts("a:", "AA")
rescue => e
  puts e.message
  puts '=' * 80
  puts help_msg
end
ruby a.rb -a
#=>
missing argument: -a
================================================================================
This is help message:
Hello buddy, you may do something wrong
...

ruby a.rb -b
#=>
invalid option: -b
================================================================================
This is help message:
Hello buddy, you may do something wrong
...