Вызовите метод Ruby с параметрами, разделенными пробелом - PullRequest
1 голос
/ 21 декабря 2011

Не уверен, если это возможно, но я могу вызвать метод из оболочки irb с пробелами между параметрами, а не запятыми (не спрашивайте)?Допустим, у меня есть метод

def start_band(member1, member2, member3, member4)
    #do something
end

И затем я называю его следующим образом:

irb>> start_band "John" "Paul" "George" "Ringo"

РЕДАКТИРОВАТЬ: можно ли вместо этого обнаружить каждое нажатие клавиши?

Ответы [ 4 ]

2 голосов
/ 21 декабря 2011

Нет, вы не можете этого сделать. В любом случае, без строк.

0 голосов
/ 21 декабря 2011

Durr!Я действительно подошел к этому неправильно.Мне просто нужно было запустить

@members = gets

, чтобы разрешить ввод по мере необходимости.Тем не менее, спасибо за ответы.

0 голосов
/ 21 декабря 2011

Существует очень простой способ избавиться от запятых.Вы также можете даже избавиться от кавычек:

def start_band(members)
  #members is an array
end

start_band %w(John Paul George Ringo)

Ограничение: вы не можете использовать пробелы внутри ваших строк, и вам все еще нужны начальные и конечные окончания (можно использовать другие символы вместо скобок)хотя).

0 голосов
/ 21 декабря 2011

номер

Вы можете использовать что-то вроде treetop , чтобы написать действительно простой DSL, или просто поиграть в игры для разбора обезьян, но это не решит вашего точного вопроса.

Другой очевидный ответ таков: тоже не получается:

irb>> start_band %W(John Paul George Ringo)

Создание irb-подобного CLI не сложно и может быть адекватным, в зависимости от ваших реальных требований.

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