Соответствие переменной строки - PullRequest
2 голосов
/ 18 марта 2019

У меня есть программа, которая принимает входные данные командной строки. Вход похож на это:

ruby myprogram.rb --option1 --option2=foo

Прямо сейчас я разделил команду на пробелы и сохранил массив команд. Например, это будет массив для приведенного выше примера:

['option1','option2=foo']

В коде есть список допустимых команд:

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

Как лучше всего проверить введенную команду, используя список проанализированных команд? В этом есть и более сложный компонент. Допустим, option2 имеет необязательные аргументы. Например, --option2=anArgument так же действителен, как и один --option2. С другой стороны, option3 имеет обязательные аргументы - т.е. --option3=foo действителен, но --option3 нет. Как мы можем это объяснить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...