J'ai un compteur de hachage que j'essaie de trier par nombre. Le problème que je rencontre est que la fonction Hash.sort par défaut trie les nombres comme des chaînes de caractères plutôt que par taille de nombre.
c'est-à-dire un hachage donné :
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
J'exécute ce code :
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
retournera un tableau trié :
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Même si 745 est un nombre plus grand que 9, 9 apparaîtra en premier dans la liste. Lorsque j'essaie de montrer qui a le plus grand nombre, cela me complique la vie :)
Une idée sur la façon de trier un hash (ou un tableau même) par taille de valeur numérique ?
J'apprécie toute aide.