Если вы хотите получить более одной пары значений ключа на основе порядка (второй по величине, наименьший и т. Д.), Более эффективным способом будет сортировка хэша один раз и затем получение желаемых результатов.
def descend_sort(hash)
hash = hash.sort_by {|k,v| v}.reverse
end
Ключ наибольшего значения
puts *hash[0][0]
Получите максимум и минимум
puts *hash[0], *hash[hash.length-1]
2-я самая большая пара значений ключа
Hash[*hash[1]]
Чтобы преобразовать массив хэшей обратно в хэш
hash.to_h