概要
Enumerable#inject
詳細
Enumerable#inject memoにすべての要素を順次渡す。
引数に初期値を指定します。
サンプル
コード
# encoding: utf-8 require "pp" list = [] 10.times {|i|list << i + 1} p list p list.inject(0) {|sum, i|sum + i} p list.inject(:+) p list.inject(10) {|sum, i|sum + i} p list.inject(10, :+) list = [] ('a'..'z').each {|c|list << c} p list.inject("") {|sum, c|sum + c + c.upcase}
出力
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 55 55 65 65 "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ"