導入
ハッシュに入っているデータ全部を順番に処理したいとき、配列と同じように each が使えます。ただしハッシュの場合、ブロック変数を2つ用意してキーと値の両方を受け取ります。
説明
scores = {"太郎" => 80, "花子" => 90, "次郎" => 70}
scores.each do |name, score|
puts "#{name}: #{score}点"
end
each do |キー, 値| ... end のように書くと、ハッシュに登録された順番で、1組ずつキーと値がブロック変数に渡されます。配列の each と同じ感覚で使えます。
やってみよう
scores の中身を増やしたり、each の中の表示を変えたりしてみましょう。キーだけ、値だけを使う(片方を _ にする)書き方も試してみてください。
演習
ハッシュ prices = {"りんご" => 100, "バナナ" => 150} を each で回し、りんご: 100円 のように表示してください(2行)。
ヒント1を見る
prices.each do |name, price| puts "#{name}: #{price}円" end のように書きます。
ヒント2を見る
ブロック変数は |キー, 値| の順番です。