Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
72
Help us understand the problem. What is going on with this article?
@tsuchinoko_run

each_with_indexの使い方

More than 3 years have passed since last update.

eachループで回しつつ、それぞれのデータに番号を振りたいと思うとき、どうすればいいんだろうとググったら、便利なeach_with_indexメソッドに出くわしたので、まとめました。

each_with_indexメソッドの使い方

配列.each_with_index do |item, i|
 "#{i}番目のデータは、#{item}"です。
end

(例)フルーツ名が格納された配列を順番に表示する場合

fruit = ["りんご", "みかん", "いちご"]
fruit.each_with_index do |item, i|
 "#{i}番目のフルーツは、#{item}"です。
end

結果

0番目のフルーツは、りんごです。
1番目のフルーツは、みかんです。
2番目のフルーツは、いちごです。

indexは、0から始まります。
1から番号を始めたい場合は、"#{i+1}番目のフルーツは、#{item}"です。
という感じで、単純にii+1にすればいい。

開始したい番号を指定するeach.with_indexメソッド

10から番号をつけたいという場合は、上の例でいくと、

fruit.each.with_index(10) do |item, i|
 "#{i}番目のフルーツは、#{item}"です。
end

結果

10番目のフルーツは、りんごです。
11番目のフルーツは、みかんです。
12番目のフルーツは、いちごです。
72
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
72
Help us understand the problem. What is going on with this article?