请帮助,我是一名Ruby学生,我知道如何使用.sum方法但不是这样: 如何为数组定义求和函数,以便提供任何元素将导致它们的总和。格式应为sum([数组输入])返回数组元素的总和。例如:sum([])应该返回0,sum([1,2,3])返回6(#again,而不是[1,2,3] .sum)。我被困在盒子里,非常感谢你的帮助。
答案 0 :(得分:2)
使用Enumerable#inject的解决方案:
def sum(array)
array.inject(0){|sum, el| sum + el}
end
或者,正如所建议的那样,更短更优雅的形式:
def sum(array)
array.inject(0, :+)
end
答案 1 :(得分:2)
使用数组求和方法。
arr = [1,2,3]
arr.sum
def sum(arr)
arr.sum
end
答案 2 :(得分:1)
这样做:
def sum(array)
array.reduce(0, :+)
end
答案 3 :(得分:0)
def sum(arr)
sum = 0
arr.each{|element| sum=sum+element }
return sum
end