繁体   English   中英

ruby 中每个参数选项具有多个输入的斜率解析命令行参数

[英]Slop parsing command line arguments with multiple inputs per argument option in ruby

我在 ruby​​ 中使用 Slop 来解析输入参数:

slop_opts = Slop.parse(ARGV.map(&:strip)) do |o|                                
  o.string '--test1', 'explain test1'                             
  o.string '--test2', 'explain test2'                                      
  o.on '--help' do                                                              
    puts o                                                                      
    exit                                                                        
  end                                                                           
end                                                                             
                                                                                
slop_opts.to_hash      

我需要test2可以包括几个选项:例如

ruby this_script.rb --test1 one_arg --test2 first_arg second_arg

我的一个约束是我需要 first_arg 和 second_arg 是 2 个不同的输入,所以我不能只是通过拆分, (或类似的)输入字符串来获取它们,例如first_arg,second_arg

感谢您的帮助!

使--test2成为Array 参数 将分隔符设置为nil以禁用拆分输入。

slop_opts = Slop.parse(ARGV.map(&:strip)) do |o|                                
  o.string '--test1', 'explain test1'                             
  o.array '--test2', 'explain test2', delimiter: nil                                  
  o.on '--help' do                                                              
    puts o                                                                      
    exit                                                                        
  end                                                                           
end  

然后每个输入都有自己的--test2

ruby this_script.rb --test1 one_arg --test2 first_arg --test2 second_arg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM