Rubyのmapメソッドでwith_indexを使う方法を現役エンジニアが解説【初心者向け】
初心者向けにRubyのmapメソッドでwith_indexを使う方法について解説しています。with_indexを使うと指定したインデックスから繰り返し文を使うことが出来ます。ループ文を1行でわかりやすく書くことが出来てとても便利です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Rubyのmapメソッドでwith_indexを使う方法について解説します。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
mapメソッドでwith_indexを使う方法について詳しく説明していくね!
お願いします!
with_indexとは
with_indexとは、rubyの配列などの要素にindex(0から始まる数)を添えることができるメソッドです。
mapに対して使用すれば、ブロックの処理の中でindexを扱うことができます。配列に対して番号を振りたい時や、配列からhashを作成する時など様々な場面で使用します。
map.with_indexの書き方
with_indexは、mapの後に.with_indexと続けることで使用できます。ブロックで最後に書いたブロック引数にindexが代入されます。
# 配列arrayにmapメソッドを使う # with_indexでindexを添える(0から始まる) array.map.with_index{ |fruit,index| #処理 }
また数値を引数にとることができ、indexのスタートする数値を変えることができます。
# with_indexでindexを添える(1から始まる) array.map.with_index(1){ |fruit,index| #処理 }
以上が使い方です。
実際に書いてみよう
それでは実際に書いてみましょう。まずは引数なしの場合(indexが0から始まる場合)です。
# 配列fruits fruits = ["apple","orange","banana"] # 配列fruitsにmapメソッドを使う # with_indexでindexを添える(0から始まる) fruits.map.with_index{ |fruit,index| puts "#{index}番目は#{fruit}" }
実行結果は以下の通りです。
0番目はapple
1番目はorange
2番目はbanana
次に、引数に1を持たせた場合(indexが1から始まる場合)です。
# 配列fruits fruits = ["apple","orange","banana"] # with_indexで引数に1を入れる fruits.map.with_index(1){ |fruit,index| puts "#{index}番目は#{fruit}" }
実行結果は以下の通りです。indexが1から始まります。
1番目はapple
2番目はorange
3番目はbanana
以上がwith_indexの使い方です。mapメソッドやその関連のメソッドをマスターすると配列の扱いがずっと楽になるので、ぜひ覚えましょう。
筆者プロフィール
メンター金成さん
フリーランスエンジニア。 使える言語は、ruby python go 。最近はgoにハマってます。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。