Enumerable#reduceはEnumerable#injectの別名
DjangoのORMのすごいところ - 偏った言語信者の垂れ流し
Rubyで言うところのinject
Enumerable#collectにEnumerable#mapが用意されてるように、今のRubyはinjectにreduceという別名も用意されている。
ついでに演算子をシンボルで渡せるようにもなってるぞ!
俺はmap派なんだけど、そろそろreduce派も出てきそう…
Ruby 1.8.7以降のコードだとreduceと書こうかな。
RUBY_VERSION # => "1.8.7" (1..10).inject {|s, x| s+x } # => 55 (1..10).inject(:+) # => 55 (1..10).reduce(:+) # => 55