मैं बहुत तरह हैश का एक हैश है,:मैं हैश के हैश से मूल्यों को कैसे मैप (और सॉर्ट) कर सकता हूं?
%hash = (a => { b => 1, c =>2, d => 3}, a1 => { b => 11, c =>12, d => 13}, a2 => { b => 21, c =>22, d => 23})
मैं तत्व "बी" निकालने और यह एक सरणी में रखना चाहते हैं। अभी, मैं हैश के माध्यम से ऐसा करने के लिए लूप कर रहा हूं, लेकिन मुझे लगता है कि मैं इसके बजाय मानचित्र का उपयोग कर दक्षता में सुधार कर सकता हूं। मैं बहुत यकीन है कि अगर यह हैश की एक सरणी था, मैं कुछ इस तरह का उपयोग करेंगे हूँ:
@hasharray = ({ b => 1, c =>2, d => 3}, { b => 11, c =>12, d => 13}, { b => 21, c =>22, d => 23}) @array = map { ($_->{b} => $_) } @hasharray
मुझे माफ कर दो अगर मैं गलत, मैं अभी भी सीख रहा हूँ कैसे नक्शा काम करता हूँ। लेकिन मैं क्या जानना चाहता हूं कि मैं हैश के हैश मैपिंग के बारे में कैसे जाउंगा? क्या नक्शा का उपयोग करना भी संभव है? मुझे अभी तक ऐसा करने का कोई उदाहरण नहीं मिला है।
इससे भी बेहतर, इस कोड में अगला चरण आबादी को एक बार घुमाए जाने के बाद सॉर्ट करना है। मुझे पूरा यकीन है कि यह संभव है, लेकिन मैं इसे स्वयं समझने के लिए मानचित्र का उपयोग करने के लिए पर्याप्त स्मार्ट नहीं हूं। मैं इसे एक शॉट में कैसे करूँगा?
धन्यवाद। सेठ
यह बहुत अच्छा काम करता था, ठीक वही जो मैं खोज रहा था। मैंने कोड के 26 लाइनों को इस के साथ बदल दिया, और उस कार्य के प्रदर्शन को ओ (एन) से ओ (1) के बारे में बेहतर किया। धन्यवाद! – sgsax
ठीक है, इसे अभी भी हैश के मानों के माध्यम से पुन: प्रयास करना है और उन्हें सॉर्ट करना है, इसलिए यह वास्तव में ओ (1) नहीं है। – Corey