<< 目次ハッシュを key でソートする。
hash = { "a" => "111",
"b" => "11",
"c" => "2222",
"d" => "33",
}
p hash
hash.sort{|a, b| a[0] <=> b[0] }.each{|key, value|
puts "#{key} #{value}"
}
実行結果
{"a"=>"111", "b"=>"11", "c"=>"2222", "d"=>"33"}
a 111
b 11
c 2222
d 33
ハッシュを value でソートする。
value でソートする為には、a[0] <=> b[0] を a[1] <=> b[1] にすればOK。
hash = { "a" => "111",
"b" => "11",
"c" => "2222",
"d" => "33",
}
p hash
hash.sort{|a, b| a[1] <=> b[1] }.each{|key, value|
puts "#{key} #{value}"
}
実行結果
{"a"=>"111", "b"=>"11", "c"=>"2222", "d"=>"33"}
b 11
a 111
c 2222
d 33
文字列的には、これでOK。
数字としてソートするには、以下のようにする。
hash = { "a" => "111",
"b" => "11",
"c" => "2222",
"d" => "33",
}
p hash
hash.sort{|a, b| a[1].to_i <=> b[1].to_i }.each{|key, value|
puts "#{key} #{value}"
}
実行結果
{"a"=>"111", "b"=>"11", "c"=>"2222", "d"=>"33"}
b 11
d 33
a 111
c 2222
<< 目次