gpt4 book ai didi

ruby - 如何生成 OptionParser 需要参数

转载 作者:数据小太阳 更新时间:2023-10-29 06:32:18 26 4
gpt4 key购买 nike

下面的代码有效,但当我想将所需参数构建到所需参数的 native OptionParser sytax 中时,我使用 fetch 手动引发所需参数的参数错误:

# ocra script.rb -- --type=value
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"

opts.on("--type [TYPE]",String, [:gl, :time], "Select Exception file type (gl, time)") do |t|
options["type"] = t
end

opts.on("--company [TYPE]",String, [:jaxon, :doric], "Select Company (jaxon, doric)") do |t|
options["company"] = t
end

end.parse!

opts = {}
opts['type'] = options.fetch('type') do
raise ArgumentError,"no 'type' option specified as a parameter (gl or time)"
end

opts['company'] = options.fetch('company') do
raise ArgumentError,"no 'company' option specified as a parameter (doric or jaxon)"
end

最佳答案

有一个类似的问题及其答案可能对您有所帮助:"How do you specify a required switch (not argument) with Ruby OptionParser? "

简而言之:似乎没有办法使选项成为必需的(毕竟它们被称为选项)。

您可以引发一个 OptionParser::MissingArgument 异常,而不是您当前抛出的 ArgumentError

关于ruby - 如何生成 OptionParser 需要参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705368/

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