युवा नियमों को जानते हैं, लेकिन पुराने अपवादों को जानते हैं;)
नवीनतम में C#
, यदि आप एक के साथ काम कर रहे हैं null-able bool
, तो आपको निम्न करना होगा:
bool? x = null;
bool? y = true;
bool? z = false;
if (x == true || y == true || z == true) {
// That was the only way that is reasonably readable that I know of
// to accomplish this expression.
}
यदि ट्रिस्टेट कोई समस्या नहीं है, तो आमतौर पर कुछ को true
/ से तुलना करने का कारण नहीं होना चाहिए True
। हालाँकि, Python
और कई अन्य भाषाओं जैसे कि C/C++
आप if
एक गैर-बूल अभिव्यक्ति पर प्रदर्शन कर सकते हैं । इन भाषाओं में पूर्णांकों, बिंदुओं, सूचियों आदि की व्याख्या के लिए अद्वितीय नियम हैं, या तो सही या गलत। शायद ही कभी आप ऐसा नहीं चाहते हैं। उदाहरण के लिए, इस पायथन स्निपेट में:
x = True
y = 'abcdef'
z1 = x and y
z2 = (x == True) and (y == True)
यहां z
होना चाहिए True
, लेकिन z2
होना चाहिए False
। अब, एक Clojure
भाषा इस तरीके से एक और तरीके से संपर्क करती है - वहाँ and
फ़ंक्शन आवश्यक रूप से मूल्यांकन नहीं करता है bool
, लेकिन if
इसे संभाल सकता है।
भाषा की परवाह किए बिना, किसी भी समय आप अपने आप को करने के लिए कुछ की तुलना पाते हैं True
या False
, यह शायद टिप्पणी के लायक है।
if (some_flag == true)
लेकिन निहितif (is_something)
या पसंद करता हूंif (has_something)
। चर नामों पर ध्यान दें।