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
不要重新发明轮子。试试马罗说的。