【发布时间】:2017-02-19 23:18:17
【问题描述】:
我尝试 downcase 解析选项以仅匹配小写格式的符号,因为当我匹配大写或混合大小写的单词时,我的解析器返回 nil 值。
我不想拥有像 [:ens, :ENS, :eNS, :enS ...] 这样的哈希:
opts.on("-i", "--instance [INSTANCE]", [:ens, :etu], "Selectionnez l'instance de Gitlab (etu, ens)") do |instance|
# puts instance.inspect
Options[:instance] = instance
end
例子:
./gitlabCollect -t my_token -k my_keyword -i ENS
将不起作用,因为返回的哈希是:
{:token=>"my_token", :keyword=>"my_keyword", :instance=>nil}
【问题讨论】:
-
那么,这里有什么问题?
-
您可以从选项定义中删除
[:ens, :etu]并在处理程序中处理小写。 -
我让两个符号在 :instance => nil 时抛出错误消息
标签: ruby parsing hash command-line-interface symbols