Tengo dos (o más) matrices con 12 enteros en cada una (correspondientes a los valores de cada mes). Todo lo que quiero es sumarlos para que tenga una sola matriz con valores sumados para cada mes. He aquí un ejemplo con tres valores: [1,2,3] y [4,5,6] => [5,7,9]ruby: suma los miembros correspondientes de dos o más matrices
Lo mejor que pude ocurrió fue:
[[1,2,3],[4,5,6]].transpose.map{|arr| arr.inject{|sum, element| sum+element}} #=> [5,7,9]
¿Hay una mejor manera de hacerlo? Simplemente parece algo tan básico querer hacer.
... o en rieles: a.transpose.map {| x | x.sum} – jjnevis
@jjnevis: bueno, si estamos jugando al golf, ¿qué tal 'a.transpose.map (&: sum)' – rampion
@rampion: eso es bastante escueto, ¿podrías explicar el (&: sum) bit ? Gracias – jjnevis