Saymaya göre sıralamaya çalıştığım bir karşı karma var. Ben çalışıyorum sorun varsayılan Hash.sort işlevi sayı boyutu yerine, dizeleri gibi sayıları sıralar olmasıdır.
yani Verilen Hash:
metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Bu kodu çalıştırma:
metrics.sort {|a1,a2| a2[1]<=>a1[1]}
sıralı bir dizi döndürür:
[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
745, 9'dan daha büyük bir sayı olmasına rağmen, listede ilk olarak 9 belirecektir. En çok kimin sayıldığını göstermeye çalışırken, bu hayatımı zorlaştırıyor. :)
Bir karma değerini (veya bir diziyi bile) sayı değeri boyutuna göre nasıl sıralayacağınız konusunda herhangi bir fikriniz var mı?
Herhangi bir yardım için teşekkür ederim.