def sum(*numbers)
result = 0
numbers.each { |num| result += num }
result
end
p sum(1,2,3)
或者
class Array
def sum
result = 0
self.each { |num| result += num }
result
end
end
p ([1,2,3].sum)
输出:
6
请勿执行以下操作:
def sum(*numbers)
p numbers
result = 0
numbers.each { |num| result += num }
result
end
p sum([1,2,3])
输出:
[[1, 2, 3]]
true.rb:255:in `+': Array can't be coerced into Fixnum (TypeError)
from true.rb:255:in `block in sum'
from true.rb:255:in `each'
from true.rb:255:in `sum'
from true.rb:258:in `<main>'