Ruby で inject を使う
Ruby
Published: 2019-05-12

やったこと

Ruby で inject メソッドについて調べます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

inject は

リストのたたみこみ演算を行います。

$ rails c
irb(main):001:0> [1, 3, 5].inject { |result, item| result + item }
=> 9
irb(main):002:0> [1, 3, 5].inject { |result, item| result + item**2 }
=> 35
irb(main):003:0> [1, 3, 5].inject(10) { |result, item| result + item**2 }
=> 45
irb(main):004:0> [1, 3, 5].inject(:+)
=> 9

ちなみに、同じ処理をするために each を使っても出来ます。

参考