Я пытаюсь написать оболочку на Ruby (используя readline
), реализуя некоторые пользовательские команды.Чтобы создать соответствие между заданным вводом и методами, которые определены во внешнем модуле, я использую хеш-код, подобный этому
hash = {
'command_1' => method(:method_1),
'command_2' => method(:method_2)
}
И как только я получаю пользовательский ввод, я передаю его хешу, вызывая связанный методс командной клавишей
hash[input.to_s].()
Мои вопросы: как я могу обрабатывать варианты одной и той же команды?(например, для команды help
выдайте различный вывод в зависимости от того, задан ли флаг, например, help -command_1
)
Как передать параметры в методы в хэше?(например, передайте команде open
файл, который будет открыт как open file_name
)
Спасибо всем заранее.