Help us understand the problem. What is going on with this article?

each_with_indexの使い方

More than 1 year has 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番目のフルーツは、いちごです。
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.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした