में मैं "शुरुआत पर्ल" पुस्तक पढ़ रहा हूँ, और यह इन दो बयानों देता है:सूची ऑपरेटर पूर्वता पर्ल
print "Test one: ", 6 > 3 && 3 > 4, "\n";
print "Test two: ", 6 > 3 and 3 > 4, "\n";
पहली पंक्ति एक नई लाइन के साथ कुछ भी नहीं प्रिंट, दूसरी पंक्ति प्रिंट एक 1 के साथ कोई नई लाइन नहीं
मैं आउटपुट के बारे में उलझन में हूं।
print ("Test two: ", 6 > 3) and 3 > 4, "\n";
हालांकि, क्यों पहले बयान नहीं एक ही है: लेखक के अनुसार, दूसरा बयान कह की तरह क्योंकि यह अजीब उत्पादन देता है? मैंने सोचा कि प्रिंट की प्राथमिकता के साथ इसका कुछ संबंध था। & & प्रिंट की तुलना में अधिक प्राथमिकता है, इसलिए इसका मूल्यांकन पहले किया जाता है और फिर इसे मुद्रित किया जाता है। जबकि "और" प्रिंट की तुलना में कम प्राथमिकता है, इसलिए 6> 3 मुद्रित किए जाएंगे, प्रिंट 1 को रिटर्न करेगा, और फिर इसका मूल्यांकन "और" के साथ किया जाएगा। हालांकि यह वास्तव में समझ में नहीं आता है।
मैंने पर्ल दस्तावेज़ को पढ़ा है कि सूची ऑपरेटर के लिए प्राथमिकता कैसे काम करती है, लेकिन मैं अभी भी इस उदाहरण को समझ नहीं पा रहा हूं। क्या आप दो बयान विच्छेदन कर सकते हैं, और मुझे बताओ कि पहले क्या मुद्रित किया गया है? क्या आप यह भी समझा सकते हैं कि पर्ल दस्तावेज़ का अर्थ क्या है जब यह सूची ऑपरेटर को "बाएंवर्ड" और "दाएं" के रूप में वर्णित करता है? धन्यवाद।
आपके उत्तरों के लिए बहुत बहुत धन्यवाद। मैं इसे अब समझता हूँ। मैं वास्तव में कर रहा था जो सीजेएम ने कहा था, और सोच रहा था कि बाएं और दाएं सूची ऑपरेटर हैं। तो अब मैं समझता हूं कि इसका क्या अर्थ है, मैं पूरी बात समझता हूं।
यह कोड चेतावनी प्रिंट करता है। और डेवेल :: REPL – xenoterracide
@xenoterracide में भी मज़ेदार व्यवहार है, यह अच्छा पर्ल कोड होने का इरादा नहीं है। यह सिर्फ यह वर्णन करने की कोशिश कर रहा है कि प्राथमिकता कैसे काम करती है। – cjm
@cjm दाएं ... हालांकि re.pl का व्यवहार मेरे लिए एक बग दर्ज करने के लिए पर्याप्त गलत लग रहा था। हम देखेंगे कि इसमें क्या आता है। – xenoterracide