Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Ruby | Enumerable | collect/map

概要

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"]