タグ

ブックマーク / akisute3.hatenablog.com (1)

  • ちょっとわかりにくいけど非常に便利なinjectメソッド - 勉強日記

    ruby の inject で配列の合計や最小要素を簡単に求められるんだけど、慣れていないと理解しにくい。そこで、できるだけわかりやすく説明したいと思う。 injectの使用例 Ruby初心者が配列の和を求めたいと思ったとき、最初に思いつくのは以下のようなコードだろう。 sum = 0 [1, 2, 3, 4, 5].each do |i| sum += i end sum # => 15 変数sumを用意し、eachで配列の中身を順にsumに足していく。Rubyを知っている人なら誰でも理解できると思う。 これをinjectを使って次のように書ける。 [1, 2, 3, 4, 5].inject(0) { |sum, i| sum + i } # => 15 簡潔だが、injectを知らないといまいちピンとこないのではないだろうか。ちなみに、Ruby1.8.7以降であれば更に簡単に書ける。

    ちょっとわかりにくいけど非常に便利なinjectメソッド - 勉強日記
  • 1