请帮助,我是一名 Ruby 学生,我知道如何使用 .sum 方法,但不知道:如何为数组定义 sum 函数,以便提供任何元素都会产生它们的总和。格式应为 sum([array inputs]) 返回数组元素的总和。例如:sum([ ]) 应该返回 0,sum([1,2,3]) 返回 6(#again,而不是 [1,2,3].sum)。我被困在盒子里了,非常感谢你的帮助。
问问题
2671 次
4 回答
2
使用Enumerable#inject的解决方案:
def sum(array)
array.inject(0){|sum, el| sum + el}
end
或者,如建议的那样,更短更优雅的形式:
def sum(array)
array.inject(0, :+)
end
于 2013-06-06T08:34:58.473 回答
2
使用数组求和方法。
arr = [1,2,3]
arr.sum
def sum(arr)
arr.sum
end
于 2013-06-06T08:56:20.377 回答
1
这将做:
def sum(array)
array.reduce(0, :+)
end
于 2013-06-06T08:38:24.243 回答
0
def sum(arr)
sum = 0
arr.each{|element| sum=sum+element }
return sum
end
于 2013-06-06T08:36:27.620 回答