चक्र for पर्ल में

में पर्ल प्रोग्रामिंग भाषा, वहाँ कई तरीके हैं करने के लिए एक पाश बनाने. तरीकों में से एक है करने के लिए कीवर्ड का उपयोग करें for.

यहाँ एक उदाहरण है:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    print "$i\n";
}

कार्यक्रम को प्रदर्शित करता है के साथ तीन लाइनों की संख्या:

0
1
2

कैसे करता है चक्र for

चक्र for में पर्ल प्रोग्रामिंग भाषा है करने के लिए बहुत समान चक्र forभाषा सी प्रोग्रामिंग.

के बाद for में कोष्ठक 3 एक कोड स्निपेट:

  • प्रारंभिक मूल्य
  • की जाँच करें
  • परिवर्तन

पहली बार चलाने के लिए, पहले कोड स्निपेट है. फिर से जाँच करें के लिए एक सही है या गलत में दूसरा कोड स्निपेट है. यदि सत्यापन सच रिटर्न यह कार्यान्वित पाश, तो शरीर का परीक्षण गलत है, तो पाश समाप्त हो जाता है. अगर तुम भाग के शरीर के पाश के बाद, कोड को क्रियान्वित करने में पाश शरीर कोड मार डाला है तीसरे में टुकड़ा है, तो एक चेक किया जाता है और फिर सब कुछ पर चला जाता है के अनुसार, पहले से ही वर्णित एल्गोरिथ्म.

यह संभव स्थिति के शरीर पाश निष्पादित नहीं किया जाएगा यहां तक कि एक बार. ऐसा होता है अगर पहले की जाँच करें गलत देता है ।

की कमी के मूल्यों

एक दिलचस्प सुविधा के चक्र है कि किसी भी कोड का टुकड़ा में विवरण के चक्र आप नहीं हो सकता है.

यहाँ का एक उदाहरण है एक चक्र नहीं है जो सेट के प्रारंभिक मूल्य:

▶ Run
#!/usr/bin/perl

my $i = 0;

for (; $i < 3; $i++) {
    print "$i\n";
}

मामले में अगर विवरण के चक्र for का परीक्षण उपलब्ध नहीं है, यह बनाता है एक अनंत लूप. यहाँ है एक उदाहरण के चक्र for जो निर्दिष्ट नहीं करता है मान्यता है, लेकिन अभी भी इस चक्र समाप्त हो गया चले गए शरीर में से पाश और प्रयोग किया जाता है last.

▶ Run
#!/usr/bin/perl

for (my $i=0;; $i++) {
    last unless $i < 3;
    print "$i\n";
}

में विवरण के चक्र के तीसरे टुकड़ा भी हो सकता है लापता:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3;) {
    print "$i\n";
    $i++;
}

अगर एक पाश में नष्ट करने के लिए सभी टुकड़े, यह एक अनंत लूप बनाएँ:

#!/usr/bin/perl

for (;;) {
    print "infinity\n";
}

दृश्यता की एक चर

उस मामले में यदि चर में परिभाषित किया गया है के विवरण लूप लूप के बाहर, इस चर उपलब्ध नहीं होगा. मामले में, कोड है use strict;, तो इस तरह के एक अपील असफल हो जायेगी.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

for (my $i=0; $i < 3; $i++) {
    print "$i\n";
}

print $i;
Global symbol "$i" requires explicit package name (did you forget to declare "my $i"?) at script.pl line 10.
Execution of script.pl aborted due to compilation errors.

अगर आप की जरूरत का उपयोग करने के लिए एक काउंटर चर लूप के बाहर, शरीर, आप इसे खोजने के लिए बाहर विवरण के चक्र:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $i = 0;

for (; $i < 3; $i++) {
    print "$i\n";
}

print $i;

next और last

पर्ल में वहाँ रहे हैं विशेष कीवर्ड का उपयोग कर सकते हैं जो करने के लिए प्रभाव के निष्पादन पाश ।

कीवर्ड next बंद हो जाता है को क्रियान्वित करने की मौजूदा यात्रा:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    next if $i == 0;
    print "$i\n";
}

और के साथ मदद की last पर किसी भी समय चक्र पूरा करने के लिए:

▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    last if $i == 1;
    print "$i\n";
}

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

अन्य लेख