में "$ _ और 1" कैसे काम करता है मैं एक सूची फ़िल्टर करने के लिए grep
फ़ंक्शन पर पढ़ रहा हूं। मैं निम्नलिखित कार्यक्रम में आया था।यह प्रतिलिपि
#!/usr/bin/perl
use strict;
use warnings;
# initialize an array
my @array = qw(3 4 5 6 7 8 9);
# first syntax form:
my @subArray = grep { $_ & 1 } @array;
बयान my @subArray = grep { $_ & 1 } @array;
रिटर्न @array
में विषम संख्या। मुझे समझ में नहीं आया कि अभिव्यक्ति ($_ & 1
) कैसे काम करती है। मैंने Google में खोज की लेकिन मुझे कोई उपयोगी लिंक नहीं मिला।
क्या यह किसी भी प्रकार का विशेष ऑपरेटर है?
क्या EXPR के कोई अन्य रूप हैं?
अग्रिम में धन्यवाद।
जानकारी के लिए: यह एक बहुत ही साफ हैक ** कि उत्पादन कोड में प्रयोग नहीं करना चाहिए है ** जब तक केवल विषम तत्वों को खोजने का संचालन एक में एक प्रदर्शन टोंटी होने के लिए बेंचमार्क है अधिक पठनीय कार्यान्वयन। – DVK
@ डीवीके एचएम, मेरी रुचि के लिए: क्या यह टिप उपयोग की जाती है? '$ _ || = $ val' – gaussblurinc
@loldop -' || = 'ऑपरेटर पूरी तरह से उचित idiomatic पर्ल है, एक हैक नहीं। हालांकि, का उपयोग करते हुए '$ _' के रूप में एक आत्म documentedly नाम-variavle उपयोग करने के लिए बहुत बार खराब लिखा कोड का एक संकेत का विरोध किया है, जब तक एक बहुत ही कम' map'/'grep' ब्लॉक में प्रयोग किया जाता है। – DVK