2013-05-19 10 views
8

Ich habe dieses Array:Array-Element Additionen in rubin

a1 = [1,2,3,4] 

Ich möchte dieses Array erzeugen, aus a1:

a2 = [3, 5, 7] 

Die Formel ist [a1[0] + a1[1], a1[1] + a1[2], ...].

Was ist der Ruby Weg, dies zu tun?

Antwort

14

Ja, können Sie dies wie unten tun:

a1 = [1,2,3,4] 
a2 = a1.each_cons(2).map{ |a| a.inject(:+) } #=> [3, 5, 7] 
+7

Die zweite Zeile auch 'a2 = a1.each_cons sein könnte (2) .map {| a, b | a + b} 'was ich etwas leichter zu lesen finde. –