Written by Kasumi

Rubyで配列からインデックス(index)と値を同時に取り出す方法

Rubyで配列からインデックス(配列要素に0から割り振られる番号)と値を同時に取り出す方法を知りたい。

本記事ではこのような悩みを解決。

実装方法について解説します。

配列からインデックスと値を取り出す方法

array = ["リンゴ", "ぶどう", "メロン"]
array.each_with_index do |shoping, i|
    puts "#{i}人目が#{shoping}を買いました。"
end

# 出力結果
# 0人目がリンゴを買いました。
# 1人目がぶどうを買いました。
# 2人目がメロンを買いました。

配列からインデックスと値を取り出すには、each_with_indexメソッドを使えば簡単です。

使い方は以下の通りです。

配列.each_with_index do |要素変数, インデックス変数|
 取り出す処理
end

each_with_indexメソッドの引数に任意の変数を二つ代入します。

最初の変数に配列要素の値二つ目の変数にインデックス番号がそれぞれ入り、配列要素数分、繰り返し処理が実行されます。

後はそれぞれの変数を用いて、出力処理を記述すればOKです。

出力されたインデックス値を1からスタートさせる

array = ["リンゴ", "ぶどう", "メロン"]
array.each_with_index do |shoping, i|
    puts "#{i+1}人目が#{shoping}を買いました。"
end

# 出力結果
# 1人目がリンゴを買いました。
# 2人目がぶどうを買いました。
# 3人目がメロンを買いました。

each_with_indexメソッドで、インデックス番号の出力値を0から1スタートにさせたい場合は、実行処理内でインデックスが割り当てられてる変数に+1と四則演算処理を加える事で1スタートで出力できます。

まとめ

Rubyで配列からインデックス番号と値を同時に取り出す方法について紹介しました。

以上で解説を終わります。

目次

関連記事

Ruby

Rubyで配列要素を昇順・降順でソートする方法【sortメソッドを使おう】

2022.08.03
1348
Ruby

Rubyで定数やメソッドをまとめてmodule化する方法

2022.08.18
1151
Ruby

Rubyでインスタン変数の値をオブジェクトの外から参照・編集する方法

2022.08.21
1111
Ruby

【Ruby】同じ値で要素を満たす配列を生成する方法

2022.08.14
1918