Tbpgr Blog

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

Ruby | Enumerable | each_with_object

概要

Enumerable#each_with_object

詳細

Enumerable#each_with_object 指定要素数ずつブロックに渡しつつ、メモ用オブジェクトも共に渡す

サンプル

コード
# encoding: utf-8
require "pp"

memo = %w{hage hige huge hege hoge}.each_with_object({}) do |e, memo|
  memo[e] = "#{e}:#{e.upcase}"
end
p memo
p "-----------------------------"
memo = %w{hage hige huge hege hoge}.each_with_object("") do |e, memo|
  memo << "#{e}:#{e.upcase}|"
end
p memo
出力
{"hage"=>"hage:HAGE", "hige"=>"hige:HIGE", "huge"=>"huge:HUGE", "hege"=>"hege:HEGE", "hoge"=>"hoge:HOGE"}
"-----------------------------"
"hage:HAGE|hige:HIGE|huge:HUGE|hege:HEGE|hoge:HOGE|"