定义红宝石和函数(define sum function in Ruby)

2019-10-18 05:19发布

请帮帮忙,我是一个Ruby的学生,我知道怎么做的.sum方法,但不是这个:你怎么定义和功能阵列,使得提供任何元素将导致它们的总和。 格式应该是数组元素的总和([阵列输入])返回总和。 用于离:总和([])应该返回0,总和([1,2,3])返回图6(#again,不[1,2,3]的.sum)。 我很卡在盒子,非常感谢你的任何帮助。

Answer 1:

与解决方案的使用可枚举#注入 :

def sum(array)
  array.inject(0){|sum, el| sum + el}
end

或者,如建议,更短和更优雅的形式:

def sum(array)
  array.inject(0, :+)
end


Answer 2:

使用阵列求和方法。

arr = [1,2,3]
arr.sum


def sum(arr)
  arr.sum
end


Answer 3:

这将做到:

def sum(array)
  array.reduce(0, :+)
end


Answer 4:

def sum(arr)
 sum = 0
 arr.each{|element| sum=sum+element }
 return sum
end


文章来源: define sum function in Ruby