Rubyのmapメソッドは、配列やEnumerableオブジェクトに対して繰り返し処理を行い、ブロックで指定した処理の結果を新しい配列として返すメソッドです。この記事では、mapメソッドの戻り値や基本的な使い方をわかりやすく解説します。
mapメソッドの基本的な特徴
mapメソッドは元の配列の要素を順番にブロックに渡し、ブロックの評価結果を集めた新しい配列を返します。元の配列は変更されません。
例として、配列[a, b, c]にmapを使い、各要素を大文字に変換すると、新しい配列[A, B, C]が返ります。
戻り値の具体例
“`ruby
numbers = [1, 2, 3]
doubled = numbers.map { |n| n * 2 }
puts doubled.inspect # => [2, 4, 6]
“`
上記の例では、numbers.mapの戻り値は[2, 4, 6]という新しい配列です。元のnumbers配列は変更されません。
map!との違い
map!は元の配列を直接変更する破壊的メソッドです。戻り値は更新後の配列で、元の配列自体も書き換えられます。
例: numbers.map! { |n| n * 2 } とすると、numbers自体が[2, 4, 6]に変更されます。
活用例と応用
mapは数値変換、文字列操作、ハッシュの配列の整形など幅広く使えます。例えば、ユーザー名リストからメールアドレスリストを作成する場合などに便利です。
“`ruby
users = [‘alice’, ‘bob’]
emails = users.map { |u| “#{u}@example.com” }
puts emails.inspect # => [“alice@example.com”, “bob@example.com”]
“`
まとめ
Rubyのmapメソッドは、ブロックの評価結果を集めた新しい配列を返す非破壊的メソッドです。元の配列は変更されず、map!を使えば破壊的に変更できます。数値や文字列の変換、データ整形など幅広い場面で便利に活用できます。

コメント