Ruby 如何使用optionparse为每个解析选项传入argv

Ruby 如何使用optionparse为每个解析选项传入argv,ruby,Ruby,我希望在解析选项时有一些灵活性 For example: if I run this > ruby some.rb -t 1 > outputs: 1 > ruby some.rb -t 2 > outputs: 2 > ruby some.rb -y 1 > outputs: 3 > ruby some.rb -y 2 > outputs: 4 > ruby some.rb -t 1 -y 2 > outputs:

我希望在解析选项时有一些灵活性

For example:
if I run this
>  ruby some.rb -t 1
>  outputs: 1
>  ruby some.rb -t 2
>  outputs: 2
>  ruby some.rb -y 1
>  outputs: 3
>  ruby some.rb -y 2
>  outputs: 4
>  ruby some.rb -t 1 -y 2
>  outputs: 5
>  ruby some.rb -y 2 -t 1
>  outputs 5
>  ruby some.rb -t 1 -y 1
>  outputs: 4
所以我想要达到的是有能力说

ruby some.rb -t=foo -y=bar

如果问题是如何解析选项,您可以使用如下标准:

require 'optparse'

options = {}
OptionParser.new do |opts|
  opts.on("-t T", "arg t") do |t|
    options[:t] = t
  end

  opts.on("-y Y", "arg y") do |y|
    options[:y] = y
  end
end.parse!

p options

###

ruby temp.rb -t 1 -y 2
{:t=>"1", :y=>"2"}

非常感谢。我想这就是我所缺少的。我确实读过Ruby 2.4.0中的文档。但是我没有正确地理解它。你研究过吗?有多种方法可以将选项传递到脚本中。你试了什么?为什么不起作用?如果你不尝试,为什么不呢?你找过了吗?如果是的话,这些页面在哪里以及为什么没有帮助?请阅读“”,请耐心一点。是的,我做了研究。我去读了RubyDoc2.4.0文件。但是医生没有以我能理解的方式解释。当然,这里有很多例子。我试了一些。我试过的那些都不能满足我的需要。所以我问。请创造一个更鼓励人们提问的环境,而不是围绕提问本身的完整性提问@这是一个很好的提问环境,但是了解堆栈溢出的目标和范围很重要。可以把它看作是一本关于编程问题及其解决方案的在线参考书。这并不是取代你自己的研究和努力,而是在你筋疲力尽后作为最后手段提供帮助。然后,在这一点上,我们期待一个非常详细的问题,解释您尝试了什么以及为什么它不能解决问题。您的问题并没有做到这一点,而是给出了代码的要求。再说一遍,解释一下。那么,你做了什么研究?你写了什么代码,为什么不起作用?你的问题是一篇帮助他人而不仅仅是帮助你自己的文章的开头,因此你必须解释这些事情,以帮助那些在未来为同样的事情寻找解决方案的人。右侧的“相关”部分显示了类似的问题,因此继续搜索so将返回类似的结果。