Ruby Recipe140 数値の総和を求める

数値を総和は以下のようにすれば求められます。

list = [1,2,3,4,5]
sum = list.inject(0) { |memo, i| memo + i }
p sum    #=> 15

同様にすべての要素を掛け合わせるのは以下のように書けばできます。
inject の引数が 0 だと 積も 0 になってしまうので、1 にしましょう。

list = [1,2,3,4,5]
sum = list.inject(1) { |memo, i| memo * i }
p sum    #=> 120

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技