- # Ruby入門 > Hashクラス(ハッシュ)
ハッシュの値でソートする
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
ハッシュの値でソートする簡単な方法が分かりました。
以下、ハッシュを作って、身長の大きい順、低い順に並べ替える。
スポンサーリンク
hash = { "Takasi" => 175, "Youko" => 162, "Konta" => 183, "Fumiko" => 157 } puts "---昇順" hash.sort{|a, b| a[1] <=> b[1] }.each{|name, value| puts "#{name}'s is #{value} cm" } puts "---降順" hash.sort{|a, b| b[1] <=> a[1] }.each{|name, value| puts "#{name}'s is #{value} cm" }
実行結果。
---昇順 Fumiko's is 157 cm Youko's is 162 cm Takasi's is 175 cm Konta's is 183 cm ---降順 Konta's is 183 cm Takasi's is 175 cm Youko's is 162 cm Fumiko's is 157 cm
ポイントは、「a[1] <=> b[1]」の部分。
ただの配列の場合、「a <=> b」で良いのですけど、ハッシュにsortメソッドを使う場合は、それぞれの値(a, b)が[key, value]として取り出される。
よって、a[1], b[1]を比べれば、ハッシュの値でソートできるという仕組み。
スポンサーリンク
<< 前の記事 : ハッシュを調べる
- - 関連記事 -
- ハッシュを調べる
- ハッシュからキーと値を取り出しイテレータ処理
- ハッシュの作成
- ハッシュ(連想配列)
スポンサーリンク