Сортировка по ключам:
myhash = {5 => "five", 3 => "three", 2 => "two", 4 => "four", 1 => "one"}
myhash.keys.sort.each do |key|
print myhash[key], "\t:\t", key, "\n"
end
производит
one : 1
two : 2
three : 3
four : 4
five : 5
Сортировка по значению немного сложнее:
myhash.to_a.sort { |item1, item2| item1[1] <=> item2[1] }.each do |item|
puts item.join("\t:\t")
end
1010 * производит *
5 : five
4 : four
1 : one
3 : three
2 : two
Если вы хотите, чтобы результаты в значении: порядок ключей, измените
puts item.join("\t:\t")
до
puts item.reverse.join("\t:\t")