2

我只有 1 个可能的选项,它被解析如下:

  def parse_options
    options = {}
    options[:markdown] = false
    OptionParser.new do |opts|
      opts.on('-md', '--markdown', 'Use Markdown Syntax') do
        options[:markdown] = true
      end
    end.parse!
  end

如您所见,该选项不需要任何参数。我发现更奇怪的是这个作品:

command -md

但这会引发异常:

command --markdown

in `parse_options': missing argument: --markdown (OptionParser::MissingArgument)

有任何想法吗?我阅读了文档和多个示例,但无法弄清楚。

4

1 回答 1

4

你不能使用这样的两个字母开关。和

opts.on('-m', '--markdown', 'Use Markdown Syntax') do

它工作正常。请参阅OptionParser 文档下的短样式开关

于 2013-04-16T19:37:30.527 回答