我有一个接受命令行输入的程序。输入类似于以下内容:
ruby myprogram.rb --option1 --option2=foo
现在,我将命令按空格分隔并保留命令数组。例如,这将是上面示例的数组:
['option1','option2=foo']
在代码中,有一个有效命令列表:
valid_cmd = %w(
--option1
--option2
--option3
)
使用已分析命令的列表,检查输入命令是否有效的最佳方法是什么?这还有一个更困难的组成部分。假设option2
有可选参数。例如,--option2=anArgument
与单独的--option2
一样有效。另一方面,option3
具有强制性参数-即。 --option3=foo
有效,而--option3
无效。我们也该如何解释呢?