可能なオプションは 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)
何か案は?ドキュメントと複数の例を読みましたが、理解できません。