Mam dwie (lub więcej) tablice z 12 liczbami całkowitymi w każdej (odpowiada wartości dla każdego miesiąca). Wszystko czego chcę, to dodać je do siebie, dzięki czemu mam jedną tablicę z sumowanymi wartościami dla każdego miesiąca. Poniżej znajduje się przykład z trzech wartości: [1,2,3] i [4,5,6] => [5,7,9]ruby: suma odpowiadających członków dwóch lub więcej tablic
Najlepszym może wymyślić był następujący:
[[1,2,3],[4,5,6]].transpose.map{|arr| arr.inject{|sum, element| sum+element}} #=> [5,7,9]
Czy jest lepszy sposób to zrobić? Po prostu wydaje się, że tak podstawową rzeczą jest chęć zrobienia.
... lub w szynach: a.transpose.map {| x | x.sum} – jjnevis
@jjnevis: cóż, jeśli gramy w golfa, to co powiesz na 'a.transpose.map (&: sum)' – rampion
@rampion: To z pewnością dość lakoniczne - czy możesz wyjaśnić (&: sum) bit ? Dzięki – jjnevis