概要
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|"