Ruby 如何使用OptionParse只允许一个标志
只有三种方法可以调用install.shRuby 如何使用OptionParse只允许一个标志,ruby,command-line,Ruby,Command Line,只有三种方法可以调用install.sh ./install.sh ./install.sh --force ./install.sh -f 我写起来很容易。然而,我尝试使用OptionParse。这就是我目前所拥有的 def self.parse option = {} optparse = OptionParser.new do |opts| opts.banner = "Usage: ./install.sh [--force]" opts.on
./install.sh
./install.sh --force
./install.sh -f
我写起来很容易。然而,我尝试使用OptionParse。这就是我目前所拥有的
def self.parse
option = {}
optparse = OptionParser.new do |opts|
opts.banner = "Usage: ./install.sh [--force]"
opts.on('-f', '--force', '') do |dir|
option[:force] = true
end
end
begin
optparse.parse!
rescue OptionParser::InvalidOption => e
puts e
end
end
若用户键入./install.sh--foo,那个么程序将失败,用户将看到以下消息
invalid option: --foo
理想情况下,每当出现错误消息时,我都希望显示横幅。我该怎么做
第二个问题:
如果用户像这样调用./install.sh foo(注意foo是作为参数传递的),那么OptionParser不会显示任何错误。如何向用户提供这样一个信息,即此安装只需要一个参数-f或-force,而不需要其他任何参数。看起来您已经在这样做了。当您解救异常并打印它时,您应该会收到如下错误消息: 无效选项$invalid_选项 您可以使用
puts optparse