วิธีการจัดเรียง Ruby Hash ตามค่าตัวเลข?
ฉันมีเคาน์เตอร์แฮชที่ฉันพยายามเรียงลำดับตามจำนวน ปัญหาที่ฉันพบคือฟังก์ชัน 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 จะปรากฏขึ้นเป็นลำดับแรกในรายการ เมื่อพยายามแสดงให้เห็นว่าใครมีค่าสูงสุดนี่ทำให้ชีวิตของฉันลำบาก :) แนวคิดใด ๆ เกี่ยวกับวิธีเรียงลำดับแฮช (หรืออาร์เรย์) ตามขนาดค่าตัวเลข ฉันขอขอบคุณความช่วยเหลือใด ๆ