У меня есть следующая вложенная хеш-структура:
{12 => {:points=>0, :diff=>0},
1=> {:points=>18, :diff=>57},
4=>{:points=>12, :diff=>67},
5=>{:points=>9, :diff=>62}}
Я бы хотел отсортировать его по точкам сначала (по убыванию) и по разнице во вторую (по возрастанию).
Я могу отсортировать его только по одному из этих значений, используя:
my_hash.sort_by {|participant_id, values| values[:points] }.reverse.to_h
но мне не удалось найти способ сортировки по обоим значениям.
Я пытался использовать:
my_hash.sort_by {|participant_id, values| values[:diff] or values[:points] }.reverse.to_h
В большинстве ответов, касающихся сортировки хэшей, учитывается одно значение, например this , а другие случаи, кажется, не соответствуют моей цели. Не могли бы вы помочь найти решение?