Ruby 变量字符串匹配

Ruby 变量字符串匹配,ruby,Ruby,我有一个接受命令行输入的程序。输入与此类似: ruby myprogram.rb --option1 --option2=foo 现在,我将命令按空格分割,并保留一个命令数组。例如,这将是上述示例的数组: ['option1','option2=foo'] 在代码中,有一个有效命令列表: valid_cmd = %w( --option1 --option2 --option3 ) 使用解析命令列表,检查输入命令是否有效的最佳方法是什么?这其中还有一个更困难的部分。

我有一个接受命令行输入的程序。输入与此类似:

ruby myprogram.rb --option1 --option2=foo
现在,我将命令按空格分割,并保留一个命令数组。例如,这将是上述示例的数组:

['option1','option2=foo']
在代码中,有一个有效命令列表:

valid_cmd = %w(
    --option1
    --option2
    --option3
)

使用解析命令列表,检查输入命令是否有效的最佳方法是什么?这其中还有一个更困难的部分。假设
option2
具有可选参数。例如,
--option2=anaargument
与单独使用
--option2
一样有效。另一方面,
option3
具有强制参数,即
--option3=foo
有效,但
--option3
无效。我们如何解释这一点呢?

使用OptionParser:什么是要求参数使用等号的好方法?例如,文档中关于必需参数的部分允许这样做:
-r library
如何声明该参数无效?我希望一个有效的命令是这样的:
-r=library
不要重新发明轮子。试试马罗说的。