समारोह index() पर्ल में

में पर्ल प्रोग्रामिंग भाषा में बनाया गया है एक समारोह index(). आप कर सकते हैं इस समारोह का उपयोग के साथ काम कर जब तार. इस समारोह का उपयोग कर, आप कर सकते हैं परीक्षण है कि एक चरित्र या स्ट्रिंग के स्ट्रिंग का हिस्सा है, और भी पता करने के लिए स्थान पर है, जो चरित्र या स्ट्रिंग में एक स्ट्रिंग है ।

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

▶ Run
#!/usr/bin/perl

print( index('Hello', 'o') );

इस प्रोग्राम संख्या को प्रदर्शित करेगा 4. पत्र 'o' के पांचवें स्ट्रिंग में चरित्र 'Hello', में प्रोग्रामिंग भाषा पर्ल, की स्ट्रिंग में पहले वर्ण संख्या है 0. इसलिए, के लिए पांचवें चरित्र समारोह index() संख्या देता 4

तथ्य यह है कि स्ट्रिंग में पहले वर्ण संख्या है 0 बिल्कुल उसी तरह के रूप में गिने तत्वों में एक पर्ल सरणी के पहले तत्व सरणी में कमरा है 0 (लेकिन के मामले में एक सरणी वहाँ एक सूक्ष्मता).

है कि क्या ले जाएगा एक ही प्रोग्राम का उपयोग करें यदि आप विभिन्न मूल्यों के लिए दूसरा तर्क:

  • 'H'0
  • 'e'1
  • 'l'2 — लाइन में 'Hello' वहाँ रहे हैं दो पत्र 'l'अगर समारोह index() से गुजरता है, दो तर्क, यह हमेशा रिटर्न संख्या के लिए एक चरित्र की पहली घटना में स्ट्रिंग
  • 'o'4
  • 'z'-1 — पत्र 'z' लाइन में नहीं, इस मामले में, समारोह रिटर्न के मूल्य -1
  • 'h'-1 — समारोह index() मामले के प्रति संवेदनशील है । स्ट्रिंग में पत्र 'H' ऊपरी रजिस्टर में है, लेकिन वहाँ है कोई पत्र 'h' कम मामले में, के लिए तो 'h' समारोह रिटर्न विशेष मूल्य -1 — नहीं पाया
  • 'Hello'0 — लाइन 'Hello' में शामिल है लाइन 'Hello' के साथ शुरू करने के पहले प्रतीक, पहली प्रतीक है संख्या 0देता है कि एक समारोह
  • 'el'1 — स्ट्रिंग 'el' पंक्ति में शामिल किया गया 'Hello' के साथ शुरू दूसरा प्रतीक
  • 'asdf'-1 — इस लाइन का हिस्सा नहीं है स्ट्रिंग 'Hello'

तर्क

my $index1 = index($str, $substr);
my $index2 = index($str, $substr, $position);

समारोह index() निर्दिष्ट करना होगा या तो दो या तीन तर्क. यदि आप निर्दिष्ट नहीं करते किसी भी तर्क, या निर्दिष्ट केवल एक ही, यह त्रुटि होगा:

Not enough arguments for index at script.pl line 3, near "index() "
Execution of script.pl aborted due to compilation errors.

यदि आप निर्दिष्ट की तुलना में अधिक 3 तर्क है, यह त्रुटि होगा:

Too many arguments for index at script.pl line 3, near "'a') "
Execution of script.pl aborted due to compilation errors.

पहला और दूसरा तर्क के लिए पर्ल की व्याख्या के रूप में तार. अगर वहाँ है एक तीसरा तर्क, यह माना जाता है एक संख्या के रूप में.

समारोह index() के लिए लग रहा है स्ट्रिंग में निहित दूसरा तर्क पंक्ति में शामिल है कि में पहला तर्क पर शुरू करने की स्थिति में निर्दिष्ट तीसरा तर्क (या स्ट्रिंग की शुरुआत तो तीसरे तर्क निर्दिष्ट नहीं है).

वापसी मान

परिणाम के समारोह index() हमेशा एक पूर्णांक है.

  • यदि संख्या सकारात्मक है या 0, इसका मतलब यह है कि स्ट्रिंग से दूसरा तर्क है substring का पहला तर्क. मूल्य का मतलब है कि स्थिति की पहली पंक्ति के साथ शुरू हुआ जो एक संयोग है । खोज से होता है स्ट्रिंग की शुरुआत अगर तीसरा तर्क निर्दिष्ट नहीं है, या स्थिति से निर्दिष्ट में तीसरा तर्क.
  • संख्या -1 इसका मतलब है कि स्ट्रिंग स्ट्रिंग में याद आ रही है

यदि आप उपयोग नहीं करते हैं, वापसी मान में Perl स्क्रिप्ट है use warnings;, फिर स्क्रीन प्रदर्शित करता है एक चेतावनी है:

Useless use of index in void context at script.pl line 6.

उदाहरण के लिए, इस तरह के एक चेतावनी दी जाएगी निम्न कार्यक्रम:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

index('Hello', 'o');

एक उदाहरण का उपयोग करने के index() के साथ तीन तर्क

यहाँ एक नमूना कार्यक्रम है । तो समारोह का उपयोग index() को खोजने के लिए substring 'Ab' में इस लाइन में है, जो इस स्ट्रिंग substring दो बार प्रकट होता है. यदि कार्य index() नहीं पारित करने के लिए, तीसरा तर्क यह है के रूप में एक ही अगर आप के पास 0 के रूप में तीसरा तर्क.

▶ Run
#!/usr/bin/perl

print( index('00 Ab Ab', 'Ab', 0) );

प्रोग्राम संख्या को प्रदर्शित करेगा 3 का अर्थ है कि substring 'Ab' में है की स्ट्रिंग पर शुरू चौथे चरित्र है ।

लेकिन इस कार्यक्रम को प्रदर्शित करता है कि परिणाम के समारोह index() के लिए अलग-अलग मूल्यों का तीसरा तर्क:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

foreach my $position (0..9) {
    say( $position, ' ', index('00 Ab Ab', 'Ab', $position) );
}

इस कार्यक्रम में प्रिंट होगा:

0 3
1 3
2 3
3 3
4 6
5 6
6 6
7 -1
8 -1
9 -1

index() के लिए खोज के एक स्ट्रिंग में एक स्ट्रिंग पर शुरू करने की स्थिति में निर्दिष्ट तीसरा तर्क. Substring 'Ab' पाया स्ट्रिंग में दो बार. पहली बार के लिए के बाद से सूचकांक 3, दूसरी बार से सूचकांक 6.

'00 Ab Ab'
 01234567

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

यहाँ उत्पादन के आदेश perldoc -f index:

       index STR,SUBSTR,POSITION
       index STR,SUBSTR
               The index function searches for one string within another, but
               without the wildcard-like behavior of a full regular-expression
               pattern match.  It returns the position of the first occurrence
               of SUBSTR in STR at or after POSITION.  If POSITION is omitted,
               starts searching from the beginning of the string.  POSITION
               before the beginning of the string or after its end is treated
               as if it were the beginning or the end, respectively.  POSITION
               and the return value are based at zero.  If the substring is
               not found, "index" returns -1.

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

अन्य लेख