У мене зустрічний хеш, який я намагаюся сортувати за кількістю. Проблема, з якою я стикаюся, полягає в тому, що функція Hash.sort за замовчуванням сортує числа як рядки, а не за розміром числа.
тобто з огляду на хеш:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Запуск цього коду:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
поверне відсортований масив:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Незважаючи на те, що 745 - це більша кількість, ніж 9, 9 у списку з’явиться першим. Коли я намагаюся показати, хто має найкращий підрахунок, це ускладнює моє життя. :)
Будь-які ідеї, як сортувати хеш (або масив навіть) за розміром значення числа?
Я вдячний за будь-яку допомогу.