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