Ho un array di numeri interi.
Per esempio:
array = [123,321,12389]
C'è un modo carino per ottenere la loro somma?
So che
sum = 0
array.each { |a| sum+=a }
funzionerebbe.
Oppure provate il modo Ruby 1.9:
array.inject(0, :+)
Nota: il caso base 0
è necessario, altrimenti viene restituito nil
sugli array vuoti:
> [].inject(:+)
nil
> [].inject(0, :+)
0
Prova questo:
array.inject(0){|sum,x| sum + x }
Vedere la documentazione di Ruby
(nota: il caso base 0
è necessario affinché 0
venga restituito su un array vuoto invece di nil
)