gpt4 book ai didi

Ruby OptionParser 不解析 -- 命令正确

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:49 24 4
gpt4 key购买 nike

这是 OptionParser 的精简版

    OptionParser.new do |opts|
opts.on('-f', '--format FORMAT', 'output format (text, html, yml, json, xml)') do |format|
options['format'] = format
end
end

这是格式选项的试用版

[16] pry(main)> parse("-f s")
=> {"format"=>" s"}
[17] pry(main)> parse("--format s")
OptionParser::InvalidOption: invalid option: --format s

为什么 --format s 不起作用?

最佳答案

当您调用 parse 时手动,需要传入ARGV,不是脚本名后面所有的字符串,而是拆分后的数组:

./example.rb -f s       # => ["-f", "s"]
./example.rb --format s # => ["--format", "s"]
./example.rb --format=s # => ["--format=s"]

因此,如果我们将这些格式传递给解析,我们就能正确解析选项:

op.parse(['-f', 'a'])       # => {"format"=>"a"}
op.parse(['--format', 'b']) # => {"format"=>"b"}
op.parse(['--format=c']) # => {"format"=>"c"}

关于Ruby OptionParser 不解析 -- 命令正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51429156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com