如何总结数字阵列中的
我想与功能的阵列来概括的数字:如何总结数字阵列中的
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