each_with_index
イーチ・ウィズ・インデックス(制御構造と繰り返し)
意味 要素と位置を同時に扱う
each_with_indexとは?
each_with_indexは、配列やハッシュの各要素とその位置(インデックス)を同時に処理するメソッドです。要素と位置の両方が必要な場合に便利です。
each_with_indexの具体的な使い方
配列の要素とインデックスを同時に処理
fruits = ['apple', 'banana', 'cherry']
fruits.each_with_index do |fruit, index|
puts "#{index + 1}番目の果物: #{fruit}"
end
# 配列の要素を大文字に変換し、インデックスを使って新しい配列を作成
upcased_fruits = []
fruits.each_with_index do |fruit, index|
upcased_fruits[index] = fruit.upcase
end
puts "大文字に変換した果物: #{upcased_fruits.inspect}"
👇出力結果
1番目の果物: apple
2番目の果物: banana
3番目の果物: cherry
大文字に変換した果物: ["APPLE", "BANANA", "CHERRY"]
この例では、fruits配列の各要素とそのインデックスを使って、要素を順番付きで出力しています。また、each_with_indexを使って配列の要素を大文字に変換し、新しい配列を作成する方法も示しています。
ハッシュの要素とインデックスを同時に処理
scores = { Alice: 90, Bob: 85, Charlie: 95 }
scores.each_with_index do |(name, score), index|
puts "#{index + 1}位: #{name}さん (#{score}点)"
end
# ハッシュの値を10%増加させ、新しいハッシュを作成
updated_scores = {}
scores.each_with_index do |(name, score), index|
updated_scores[name] = (score * 1.1).round
end
puts "更新後のスコア: #{updated_scores}"
👇出力結果
1位: Aliceさん (90点)
2位: Bobさん (85点)
3位: Charlieさん (95点)
更新後のスコア: {:Alice=>99, :Bob=>94, :Charlie=>105}
この例では、scoresハッシュの各要素(キーと値のペア)とそのインデックスを使って、順位付きで出力しています。また、each_with_indexを使ってハッシュの値を10%増加させ、新しいハッシュを作成する方法も示しています。
each_with_indexに関するよくある質問
each_with_indexが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのeach_with_indexやone?、case、while、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!