我有一个整数数组。
例如:
array = [123,321,12389]
有什么好方法能求出它们的和吗?
我知道
sum = 0
array.each { |a| sum+=a }
是可行的。
我有一个整数数组。
例如:
array = [123,321,12389]
有什么好方法能求出它们的和吗?
我知道
sum = 0
array.each { |a| sum+=a }
是可行的。
当前回答
或者(只是为了比较),如果你安装了Rails(实际上只有ActiveSupport):
require 'activesupport'
array.sum
其他回答
Ruby 2.4+ / Rails -数组。和即[1,2,3]。Sum # =>
Ruby pre 2.4 - array.inject(:+)或array.reduce(:+)
*注意:#sum方法是2.4中用于枚举的新添加,所以你现在可以使用数组了。sum是纯ruby,而不仅仅是Rails。
或者(只是为了比较),如果你安装了Rails(实际上只有ActiveSupport):
require 'activesupport'
array.sum
你可以像这样使用。map和。sum:
array.map { |e| e }.sum
对于nil值的数组,我们可以压缩,然后注入和 除
a = [1,2,3,4,5,12,23.45,nil,23,nil]
puts a.compact.inject(:+)
Ruby 1.8.7的方式如下:
array.inject(0, &:+)