Rubyのハッシュ値のeachでの繰り返し処理について。
2通りの使い方があるのでご紹介致します。
まずは、ハッシュ値からkeyとvalueを取得するパターンです。
capitals = { 'Japan' => 'Tokyo', 'UnitedKingdom' => 'London', 'Netherlands' => 'Amsterdam', 'France' => 'Paris' } # ここはおまけ p capitals['UnitedKingdom'] # => "London" p capitals['Switzerland'] # => nil (値がない場合) capitals.each do |key, value| puts "国は#{key}です。首都は#{value}です" end # => 国はJapanです。首都はTokyoです # => 国はUnitedKingdomです。首都はLondonです # => 国はNetherlandsです。首都はAmsterdamです # => 国はFranceです。首都はParisです
今回はサンプルなので、keyとvalueという名前にしていますが
countryとcapitalとかにしたほうが可読性は上がるかもしれませんね。
次は配列として処理をする場合です。
配列の0番目にkey、1番目にvalueが入ります。
capitals.each do |capital| puts "国は#{capital[0]}です。首都は#{capital[1]}です" end # => 国はJapanです。首都はTokyoです # => 国はUnitedKingdomです。首都はLondonです # => 国はNetherlandsです。首都はAmsterdamです # => 国はFranceです。首都はParisです
どうでしょうか???
配列のアクセスが少し面倒な感じですね。笑
自分で実装する場合は前者のほうがいいと思います(*^^*)
何かの参考になれば幸いです(*^^*)
最近のコメント