Tengo un contador hash que estoy tratando de ordenar por conteo. El problema con el que me encuentro es que la función Hash.sort predeterminada ordena los números como cadenas en lugar de por tamaño de número.
es decir, Hash dado:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Ejecutando este código:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
devolverá una matriz ordenada:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Aunque 745 es un número mayor que 9, 9 aparecerá primero en la lista. Cuando trato de mostrar quién tiene la cuenta más alta, esto me dificulta la vida. :)
¿Alguna idea sobre cómo ordenar un hash (o incluso una matriz) por tamaño de valor numérico?
Agradezco cualquier ayuda.