У меня есть встречный хеш, который я пытаюсь сортировать по счету. Проблема, с которой я сталкиваюсь, заключается в том, что функция 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 появится первым в списке. Когда вы пытаетесь показать, кто имеет верхний счет, это затрудняет мою жизнь.:)
Любые идеи о том, как сортировать хэш (или массив равномерно) по размеру числа?
Я ценю любую помощь.