Subscribed unsubscribe Subscribe Subscribe

RubyのArray要素の計算ヘ(^o^)ノ

Arrayの要素を計算したいケースが多々あります。

代表的なものがこれ

[1, 2, 3].inject(:+) # => 6

引数を渡したい!

[1, 2, 3].each_with_object(1).map(&:+) # => [2, 3, 4]

二次元配列で要素ごとの集計

0番目、1番目、3番目の要素を集計しています。

[[1, 2, 3], [4, 5, 6]].transpose.map{|n| n.inject(:+)} # => [5, 7, 9]

Array#transposeは行と列の入れ替えをします。

[[1, 2, 3], [4, 5, 6]].transpose # => [[1, 4], [2, 5], [3, 6]]

Happy Hacking٩( ‘ω’ )و