Rubyリファレンス: Home

collect, map (Enumerable)

Edit   History

標準クラス・モジュール > Enumerable > collect, map

enum.collect {|item| block }
enum.map {|item| block }

collectメソッドは、要素の数だけ繰り返しブロックを実行し、ブロックの戻り値を集めた配列を作成して返します。ブロック引数itemには各要素が入ります。ブロックを省略したときは、要素をすべて集めた配列を返します。

mapメソッドは、collectの別名です。

次の例は、ハッシュを元にしてHTMLの属性を組み立てます。

attrs = { :src => "cat.jpg", :alt => "Kitten",
          :width => 360, :height => 240 }
puts attrs.collect {|k, v| "#{k}=\"#{v}\""}.join(" ")
alt="Kitten" height="240" src="cat.jpg" width="360"

次の例は、範囲を元にして2の累乗を配列にしています。

p (1..8).collect {|n| 2 ** n }
[2, 4, 8, 16, 32, 64, 128, 256]

関連項目