Как передать массив методу, который принимает атрибут с оператором знака?

Если у меня есть метод вроде:

def sum *numbers
  numbers.inject{|sum, number| sum += number}
end

Как я могу передать массив в виде чисел?

ruby-1.9.2-p180 :044 > sum 1,2,3   #=> 6
ruby-1.9.2-p180 :045 > sum([1,2,3])   #=> [1, 2, 3]

Обратите внимание, что я не могу изменить метод суммы, чтобы он принимал массив.


person Jeremy Smith    schedule 12.07.2011    source источник


Ответы (2)


Просто поставить знак при вызове метода?

sum(*[1,2,3])
person Dogbert    schedule 12.07.2011

Вы имели в виду это?

sum(*[1,2,3])

@Dogbert был первым

person Victor Moroz    schedule 12.07.2011