こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Rubyで配列の各要素に処理を実施して配列を返すmapメソッドについて
- mapメソッドとは
- mapメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Rubyのインストールは、下の記事をご参考ください。
mapメソッドとは
mapメソッドとは、配列の各要素に対してブロックで指定している処理を実施し、新たな配列を返り値として返すメソッドです。
mapメソッドサンプルは、以下です。
1 2 3 4 |
sample = ['a', 'b', 'c'] result = sample.map do |str| str + str end |
変数resultには
1 |
["aa", "bb", "cc"] |
という配列が返されます。
上記サンプルの意味は以下になります。
またmapメソッドは、
1 2 3 |
do # 処理 end |
だけでなく
1 2 3 |
{ # 処理 } |
でも記載することができます。
1 2 3 4 |
sample = ['a', 'b', 'c'] result = sample.map { |str| str + str } |
では、次の章で実際に使ってみます。
mapメソッドを解説するプログラムの概要
mapメソッドを解説するプログラムでは、要素がint型の配列に対して
- 各要素を2倍(ブロックはdo~endで記載)
- 各要素を2で割る(ブロックは{~}で記載)
の2パターンの処理をmapメソッドを使い実施し、結果を表示させます。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# mapするリストを確認 array = [10, 1, 84, 3, 32, 27, 6] puts "■mapするリスト:#{array}" # 各要素を2倍にして、配列を作成 timearray = array.map do |i| i * 2 end puts "■要素を2倍:#{timearray}" # 各要素 divarray = array.map { |i| i / 2 } puts "■要素を2で割る:#{divarray}" |
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 |
■mapするリスト:[10, 1, 84, 3, 32, 27, 6] ■要素を2倍:[20, 2, 168, 6, 64, 54, 12] ■要素を2で割る:[5, 0, 42, 1, 16, 13, 3] |
各要素に指定した処理が実施されていることが確認できました!
まとめ:mapメソッドを使ってみよう!
以上がmapメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント