復習 Ruby: [1, 2, 3].sum ではなく,[1, 2, 3].inject(:+) と書く. 数値が Array に格納されていて,その合計を計算したいときに sum したくなることがある. たとえば,次のように. a = [1, 2, 3] a.sum # ~> -:2:in `': undefined method `sum' for [1, 2, 3]:Array (NoMethodError) しかし,このように,Array#sum というメソッドは無いので,NoMethodError になる. Enumerable#inject(symbol)こんなときに,Ruby なら Enumerable#inject(symbol) を使う. a = [1, 2, 3] a.inject(:+) # => 6 ここで,a.inject(:+) は, 1 + 2 + 3 と同じ