如何总结数字阵列中的

我想与功能的阵列来概括的数字:如何总结数字阵列中的

def total(numbers) 

numbers.each do |e|

total_number = e + total_number

return total_number

end

end

puts total([1,2,3,4])

但我不断收到错误消息说:

零不能被强制到Fixnum(repl):18:在'+'

任何人都可以看到我做错了什么?

each> do循环在函数外部工作。

回答:

您还没有初始化total_number变量,所以它给这个错误,试试这个

def total(numbers) 

total_number = 0

numbers.each do |e|

total_number += e # Same as your total_number = e + total_number

end

return total_number

end

puts total([1,2,3,4])

但是,最好的办法是使用红宝石内置数组的方法。

array = [1, 2, 3, 4] 

total_number = array.inject(:+)

回答:

有许多不同的方式来做到这一点:

numbers.sum 

numbers.inject(:+)

等等。不要害羞检查docs下一次;)

以上是 如何总结数字阵列中的 的全部内容, 来源链接: utcz.com/qa/261984.html

回到顶部