थोड़ा आगे ब्लेंडर के विवरण का विस्तार करने के लिए, or
ऑपरेटर कुछ और निर्मित है:
<expression A> or <expression B>
यह expression A
पहले का मूल्यांकन करेंगे; यदि यह True
का मूल्यांकन करता है तो expression A
ऑपरेटर द्वारा वापस किया जाता है। तो 5 or <something>
5
5
True
पर मूल्यांकन करेगा।
यदि expression A
False
, expression B
का मूल्यांकन किया गया है। तो 0 or 5
5
लौटाएगा क्योंकि 0
False
का मूल्यांकन करता है।
बेशक आप श्रृंखला इस जितना आप चाहते हैं के रूप में कर सकते हैं के
:
<expr 1> or <expr 2> or <expr 3> or ... or <expr n>
सामान्य तौर पर, or
पहले अभिव्यक्ति जो True
का मूल्यांकन वापस आ जाएगी, लेकिन इसके मूल मान रखने के लिए। यदि कोई अभिव्यक्ति नहीं है जो True
का मूल्यांकन करती है, तो यह केवल अंतिम अभिव्यक्ति (जो False
का मूल्यांकन करती है) को वापस कर देगी।
and
ऑपरेटर एक समान लेकिन उलटा तरीके से काम करता है। यह पहले अभिव्यक्ति को वापस करेगा जो False
का मूल्यांकन करता है, लेकिन इसका मूल मान रखें। यदि कोई अभिव्यक्ति नहीं है जो False
का मूल्यांकन करती है, तो यह केवल अंतिम अभिव्यक्ति (जो True
का मूल्यांकन करेगी) को वापस कर देगी।
एक उदाहरण के रूप में, दोनों 0 and 5
और 5 and 0
0
वापस आ जाएगी क्योंकि 0
False
का आकलन करती है, लेकिन 2 and 3
3
वापस आ जाएगी क्योंकि 3
पिछले अभिव्यक्ति है और सब कुछ True
मूल्यांकन करता है।
किसी भी तरह से (प्रश्न पर वापस आने के लिए): सभी अभिव्यक्तियों का मूल्यांकन बाएं से दाएं से किया जाता है, और यदि ऊपर से कोई नियम इसे अनुमति देता है, तो आगे की अभिव्यक्ति को छुआ नहीं जाएगा।
यह एक 'if' बयान के मूल्यांकन के आदेश के साथ कोई संबंध नहीं है, लेकिन एक' or' अभिव्यक्ति के मूल्यांकन के आदेश के साथ। आपको 'x = (foo> 5 या bar> 6) 'के लिए सटीक समान नियम मिलते हैं, या, उस मामले के लिए, केवल' foo> 5 या bar> 6' अपने विवरण के रूप में। – abarnert
चारों ओर खेलने का प्रयास करें और देखें कि क्या होता है। इस तरह का नतीजा क्या होगा;) यदि सही या गलत और झूठा और झूठा या झूठा: ' –