Определение рекурсивного метода, который принимает несколько аргументов - PullRequest
2 голосов
/ 05 февраля 2011

Что мне определить рекурсивный метод с переменными аргументами в ruby?

Я думал

    def meth(var, *var)     
      meth(var,var)
    end

Если я сделаю это таким образом, var станет массивом на следующей итерации.

1 Ответ

4 голосов
/ 05 февраля 2011

Используйте восклицательный знак, когда вы вызываете его (как вы это делаете с & при передаче блока, а не его определения):

def meth(var, *var)     
  meth(var,*var)
end

Наименее сюрприз!

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