के सूचकांक में पहला तत्व एक पर्ल सरणी

में पर्ल प्रोग्रामिंग भाषा के रूप में, कई अन्य प्रोग्रामिंग भाषाओं, पहला तत्व सरणी में एक सूचकांक है 0. लेकिन वहाँ एक संभावना है (जो है अत्यधिक की सिफारिश नहीं की का उपयोग करने के लिए) बनाने के लिए सूचकांक में पहला तत्व के लिए किया गया था 1 (या अन्य संख्या).

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

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

print $arr[1];

कार्यक्रम को प्रदर्शित करेगा पाठ two. हम उल्लेख करने के लिए सरणी तत्व के साथ सूचकांक 1 और इस का दूसरा तत्व सरणी.

  • सूचकांक 0 है सरणी के पहले तत्व, हमारे उदाहरण में, स्ट्रिंग 'one'
  • सूचकांक 1 का दूसरा तत्व है, सरणी में हमारे उदाहरण के लिए, स्ट्रिंग 'two'
  • सूचकांक 2 — है, सरणी के तीसरे तत्व, हमारे उदाहरण में, स्ट्रिंग 'three'

के शिक्षार्थियों के लिए प्रोग्रामिंग असामान्य है, लेकिन यह मानक है. 0 सूचकांक है की पहली तत्व सरणी के लगभग सभी प्रोग्रामिंग भाषाओं.

चर $[

के रचनाकारों पर्ल प्रोग्रामिंग भाषा बनाने के लिए चाहता भाषा ऐसी है कि प्रोग्रामर खुद के लिए तय किया कि वह क्या चाहता है के लिए भाषा का उपयोग (के सिद्धांत TIMTOWTDI), इसलिए, भाषा के लिए एक रास्ता था सूचकांक में परिवर्तन के तत्व है । अगर किसी को असहज है उपयोग 0 के सूचकांक के रूप में पहला तत्व के लिए, आप कह सकते हैं क्या सूचकांक की पहली तत्व हो जाएगा 1.

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

#!/usr/bin/perl

$[ = 1;

my @arr = ('one', 'two', 'three');

print $arr[1];

के मान को सेट कस्टम चर प्रति यूनिट $[ = 1; — यह कहना अब सूचकांक की पहली तत्व हो जाएगा 1नहीं, 0. कार्यक्रम को प्रदर्शित करेगा पाठ one.

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

तो पर्ल 5.12 का उपयोग कर चर $[ के नेतृत्व में उपस्थिति के लिए चेतावनी: Use of assignment to $[ is deprecated at script.pl line 3..

पर्ल संस्करण 5.12, 5.14, 5.16, 5.18, 5.20, 5.22. 5.24, 5.26 वास्तव में जारी इस चेतावनी. 5.28 था करने के लिए एक चेतावनी जारी Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at script.pl line 3., और पर्ल 5.30 देना बंद कर दिया करने की क्षमता को बदलने के सूचकांक तत्व है । जब आप ऐसा करने की कोशिश कार्यक्रम में विफल रहता है के साथ एक त्रुटि पाठ Assigning non-zero to $[ is no longer possible at script.pl line 3..

तो हाल के संस्करणों के पर्ल की सरणी के पहले तत्व हमेशा सूचकांक 0. पर्ल में इस से पहले संस्करण अवसर है बनाने के लिए दूसरे नंबर के द्वारा सूचकांक का पहला तत्व है, लेकिन सबसे अच्छा के लिए इस अवसर का कभी नहीं का उपयोग करें.

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

यहाँ एक टुकड़ा के उत्पादन perldoc perlvar प्रो चर $[:

    $[      This variable stores the index of the first element in an array,
            and of the first character in a substring. The default is 0, but
            you could theoretically set it to 1 to make Perl behave more
            like awk (or Fortran) when subscripting and when evaluating the
            index() and substr() functions.

            As of release 5 of Perl, assignment to $[ is treated as a
            compiler directive, and cannot influence the behavior of any
            other file. (That's why you can only assign compile-time
            constants to it.) Its use is highly discouraged.

            Prior to Perl v5.10.0, assignment to $[ could be seen from outer
            lexical scopes in the same file, unlike other compile-time
            directives (such as strict). Using local() on it would bind its
            value strictly to a lexical block. Now it is always lexically
            scoped.

            As of Perl v5.16.0, it is implemented by the arybase module.

            As of Perl v5.30.0, or under "use v5.16", or "no feature
            "array_base"", $[ no longer has any effect, and always contains
            0. Assigning 0 to it is permitted, but any other value will
            produce an error.

            Mnemonic: [ begins subscripts.

            Deprecated in Perl v5.12.0.

अन्य लेख