概要
Enumerable#collect
詳細
Enumerable#collect/map はブロックを1回ずつ実行した結果を新しい配列にして返却する。
ブロックを指定しない場合はEnumratorを返却する。
サンプル
コード
# encoding: utf-8 require "pp" list = %w{hoge hige hage} %w{collect map}.each do |m| p "!!use #{m}!!" p list.method(m).call {|e|e.reverse} p list.collect(&:reverse) enum = list.collect p enum.class p enum.each {|e|e.reverse} end
出力
"!!use collect!!" ["egoh", "egih", "egah"] ["egoh", "egih", "egah"] Enumerator ["egoh", "egih", "egah"] "!!use map!!" ["egoh", "egih", "egah"] ["egoh", "egih", "egah"] Enumerator ["egoh", "egih", "egah"]