我有一个整数数组。
例如:
array = [123,321,12389]
有什么好方法能求出它们的和吗?
我知道
sum = 0
array.each { |a| sum+=a }
是可行的。
我有一个整数数组。
例如:
array = [123,321,12389]
有什么好方法能求出它们的和吗?
我知道
sum = 0
array.each { |a| sum+=a }
是可行的。
当前回答
你可以像这样使用。map和。sum:
array.map { |e| e }.sum
其他回答
或者(只是为了比较),如果你安装了Rails(实际上只有ActiveSupport):
require 'activesupport'
array.sum
你也可以用简单的方法做这件事
def sum(numbers)
return 0 if numbers.length < 1
result = 0
numbers.each { |num| result += num }
result
end
你可以像这样使用。map和。sum:
array.map { |e| e }.sum
Ruby 1.8.7的方式如下:
array.inject(0, &:+)
Ruby 2.4.0发布了,它有一个Enumerable#sum方法。所以你可以
array.sum
文档中的例子:
{ 1 => 10, 2 => 20 }.sum {|k, v| k * v } #=> 50
(1..10).sum #=> 55
(1..10).sum {|v| v * 2 } #=> 110