कैसे खोजने के लिए की न्यूनतम संख्या में एक पर्ल सरणी

कार्य । पर्ल में, इस कार्यक्रम के एक सरणी है @arr (पहले तीन अक्षरों से शब्द "सरणी"). की जरूरत है खोजने के लिए कम से कम संख्या है कि इस सरणी है.

सबसे अच्छा तरीका है इस समस्या को हल करने के लिए है समारोह का उपयोग min पुस्तकालय से List::Util. पुस्तकालय List::Util के साथ आता है पर्ल, इसलिए यदि आप पर्ल, इस लाइब्रेरी के लिए उपलब्ध है इसके अतिरिक्त स्थापित कुछ भी नहीं है ।

यहाँ एक उदाहरण है प्रोग्राम है कि पाता है और प्रदर्शित करता है न्यूनतम संख्या से सरणी में शामिल है, जो की संख्या:

▶ Run
#!/usr/bin/perl

use List::Util qw(min);

my @arr = (1, 2, -100, 8, 0);

print min(@arr);

प्रोग्राम संख्या को प्रदर्शित करेगा -100. (निष्पादित करने के लिए कोड में ब्राउज़र ).

जब आप कनेक्ट करने के लिए एक पुस्तकालय में हम ने संकेत दिया है कि हम समारोह का उपयोग min: use List::Util qw(min);. अगर तुम सिर्फ पुस्तकालय कनेक्ट use List::Util;, कार्यक्रम जारी करेगा एक त्रुटि Undefined subroutine &main::min called at script.pl line 7..

सरणी में कोई तत्व

यदि सरणी है कोई तत्व नहीं है, तो min में वापस आ जाएगी undef. यहाँ नमूना कार्यक्रम जो खाते में लेता है निम्नलिखित के मामले में:

▶ Run
#!/usr/bin/perl

use List::Util qw(min);

my @arr;

my $min = min(@arr);

if (defined $min) {
    print $min;
} else {
    print "Empty array";
}

इस कार्यक्रम में हम परिणाम की दुकान समारोह min में चर, तो परिणाम नहीं है undef, हम परिणाम निकालना इस परिणाम के रूप में, यदि undef, हम परिणाम निकालना स्क्रीन पर पाठ.

यहाँ हम परिणाम की जांच के समारोह min, लेकिन यह संभव हो जाएगा पता करने के लिए की संख्या सरणी में तत्वों और अगर मदों की संख्या 0 है, तो प्रदर्शन तुम क्या करने की जरूरत के मामले में एक खाली सरणी.

काम के मामले में सरणी स्ट्रिंग

जब काम करने के लिए समारोह के साथ min पुस्तकालय से List::Util वहाँ एक सूक्ष्मता है. वास्तव में min वापस नहीं करता है न्यूनतम संख्या सरणी से, और जिसका तत्व देखें संख्या कम है ।

यहाँ एक उदाहरण है । परिणाम min(12, 'ABC', 44) लाइन होगा 'ABC'. इस तथ्य के कारण होता है कि सांख्यिक मान स्ट्रिंग की 'ABC' शून्य है, शून्य है, छोटी से छोटी मूल्य में इस सरणी. परिणाम min तत्व है जिसका संख्यात्मक मूल्य कम है । इस उदाहरण में, स्ट्रिंग 'ABC'.

एक और उदाहरण है । परिणाम min(10, 7, '4H') लाइन होगा '4H'.

सरकारी दस्तावेज

यहाँ एक टुकड़ा के उत्पादन perldoc List::Util  के बारे में समारोह min:

  min
        my $num = min @list;

    Similar to "max" but returns the entry in the list with the lowest
    numerical value. If the list is empty then "undef" is returned.

        $foo = min 1..10                # 1
        $foo = min 3,9,12               # 3
        $foo = min @bar, @baz           # whatever

अन्य लेख