कैसे को खोजने के लिए जोड़े की संख्या में तत्वों की एक पर्ल हैश

कार्य । कार्यक्रम में प्रोग्रामिंग भाषा में पर्ल हैश है. आप की जरूरत है बाहर आंकड़ा करने के लिए कैसे के कई जोड़े मूल्यों में यह.

उदाहरण के लिए, यह हैश करने के लिए आवश्यक है सेट करने के लिए 1:

my %h = (
    a => 'AAA',
);

और के लिए इस तरह के एक हैश, आप की जरूरत मूल्य प्राप्त करने के लिए 3:

my %h = (
    a => 'AAA',
    b => 'BBB',
    c => 'CCC',
);

निर्णय

मानक समाधान इस समस्या के लिए है करने के लिए पहली बार सभी चाबियाँ के हैश का उपयोग करके keys, और फिर गिनती करने के लिए संख्या की कुंजियों का उपयोग करके अदिश के संदर्भ में. यहाँ स्क्रिप्ट में पूरा:

▶ Run
#!/usr/bin/perl

my %h = (
    a => 'AAA',
    b => 'BBB',
);

my $number = scalar keys %h;

print $number;

स्क्रिप्ट संख्या को प्रदर्शित करेगा 2. scalar keys %h के रूप में ही है scalar(keys(%h)).

इस समाधान काम करता है के सभी संस्करणों पर Perl. और अक्सर इस निर्णय से सबसे अच्छा है.

निर्णय में नए संस्करणों के पर्ल

पर्ल 5.26 जोड़े की संख्या के मूल्यों में हैश प्राप्त किया जा सकता का उपयोग करके बस scalar %h.

और इस के परिणामस्वरूप है के बीच स्थिरता प्राप्त करने के लिए कैसे संख्या में तत्वों की सरणी scalar @arr और के रूप में करने के लिए संख्या के जोड़े के मूल्यों में हैश scalar %h. यह एक दया है कि इस व्यवहार नहीं बनाया गया था शुरू में.

यदि आप का उपयोग scalar %h पर्ल में पहले की तुलना में 5.26 से, इस आपरेशन के परिणाम एक अजीब अंश प्रजातियों के 1/8. (क्या की एक व्याख्या इस अंश का मतलब है). इस वजह से एक और अधिक विश्वसनीय विकल्प खोजने के लिए संख्या के जोड़े में हैश का विकल्प अभी भी है scalar keys %h.

संबंधित विषयों

अन्य लेख