Mam licznik hash, który próbuję posortować według liczby. Problem, z którym się spotykam, polega na tym, że domyślna funkcja Hash.sort sortuje liczby jako ciągi znaków, a nie według rozmiaru liczb.
tj. Given Hash:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Uruchamianie tego kodu:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
zwróci posortowaną tablicę:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Mimo że 745 to liczba większa niż 9, 9 pojawi się jako pierwsze na liście. Kiedy próbuję pokazać, kto jest najważniejszy, utrudnia mi to życie. :)
Jakieś pomysły na sortowanie skrótu (lub nawet tablicy) według rozmiaru wartości liczbowej?
Doceniam każdą pomoc.