合計を計算するときとか
sum = 0 (1..10).each {|n| sum += n} puts sum # => 55
よくこんな感じのコードを書いてます。
inject()を用いてこのようにかけるみたいです。
puts (1..10).inject(0) {|sum, n| sum + n} # => 55
ループでの計算結果を入れる変数が、ブロックの中で済んでいるのでスッキリですね。
これからinjectたくさん使っていこうと思います。
追記
# 以下同じ p (1..10).inject(0) {|count, n| count + n} p (0..10).inject {|count, n| count + n} p (1..10).inject(:+)
3つ目すげぇ短い!!
引用
http://d.hatena.ne.jp/kenkitii/20090114/ruby_inject
http://naoty.hatenablog.com/entry/20110726/1311691890