Ich habe ein Array mit ganzen Zahlen.
Zum Beispiel:
array = [123,321,12389]
Gibt es eine gute Möglichkeit, die Summe dieser Werte zu ermitteln?
Ich weiß, dass
sum = 0
array.each { |a| sum+=a }
funktionieren würde.
Oder versuchen Sie es auf die Art von Ruby 1.9:
array.inject(0, :+)
Hinweis: Der Basisfall 0
wird benötigt, sonst wird bei leeren Arrays nil
zurückgegeben:
> [].inject(:+)
nil
> [].inject(0, :+)
0
Versuchen Sie dies:
array.inject(0){|sum,x| sum + x }
Siehe Ruby's Enumerable Dokumentation
(Hinweis: Der Basisfall 0
wird benötigt, damit bei einem leeren Array 0
anstelle von nil
zurückgegeben wird)
Alternativ (nur zum Vergleich), wenn Sie Rails installiert haben (eigentlich nur ActiveSupport):
require 'activesupport'
array.sum