Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Enumerable | inject

概要

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"