मेरे पास एक काउंटर हैश है जिसे मैं गिनती द्वारा क्रमबद्ध करने की कोशिश कर रहा हूं। मैं जिस समस्या को चला रहा हूं, वह यह है कि डिफ़ॉल्ट 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 सूची में पहले दिखाई देगा। जब यह दिखाने की कोशिश की जा रही है कि शीर्ष की गिनती किसके पास है, तो यह मेरे जीवन को कठिन बना रहा है। :)
संख्या मान आकार द्वारा हैश (या एक सरणी भी) को कैसे सॉर्ट करना है पर कोई विचार?
मैं किसी भी मदद की सराहना करता हूं।