У нас есть метод:Рубин массив Eval в качестве аргумента метода
def sum(x, y, z)
x + y + z
end
и массив
arr = [1,2,3]
Как можно передать массив подводить метод? На самом деле мне нужно что-то вроде:
pseudo
sum(arr.each {|i| i})
без метода изменения, и он будет работать, если сумма будет принимать восклицательный знак, поэтому, пожалуйста, не предлагайте сумму (обр [0], обр [1], обр [2])
cp, если вы не уверены, вы можете проверить параметры 'sum' с помощью [Параметры метода #] (http://ruby-doc.org/core-2.2.0/Method.html#method- i-parameters): 'method (: sum) .parameters # => [[: req,: x], [: req,: y], [: req,: z]]'. Обратите внимание, что вам сначала нужно преобразовать символ ': sum' в метод с [Object # method] (http://ruby-doc.org/core-2.2.0/Object.html#method-i-method). –
* «остальные значения в' arr' будут проигнорированы, если они присутствуют »* -' ArgumentError' возникает, если количество аргументов не совпадает. – Stefan
@Stefan ах, спасибо. Не знал этого. –