रुबी में, निम्नलिखित पंक्तियां क्यों सच हैं?क्यों 0 और 1 1 है जबकि 1 और 0 0 रूबी में 0 है?
0 && 1 == 1
1 && 0 == 0
वे अलग क्यों हैं और 0 दोनों नहीं हैं?
रुबी में, निम्नलिखित पंक्तियां क्यों सच हैं?क्यों 0 और 1 1 है जबकि 1 और 0 0 रूबी में 0 है?
0 && 1 == 1
1 && 0 == 0
वे अलग क्यों हैं और 0 दोनों नहीं हैं?
बूलियन और ऑपरेटर &&
अपना दूसरा ऑपरेंड देता है यदि पहले गलत नहीं है। रुबी में बूलियन अभिव्यक्तियों में 0
और 1
true
हैं। केवल nil
और false
बूलियन अभिव्यक्तियों में झूठे हैं।
nil && 15 # => nil
15 && 17 # => 17
15 && nil # => nil
0
और 1
रूबी में सच्चाई मूल्यों का प्रतिनिधित्व नहीं करते। रूबी में जो कुछ भी nil
या false
सत्य नहीं है। आप इस कि करने के लिए जोड़ देते हैं तो: और
और & & ऑपरेटरों अपनी पहली संकार्य का मूल्यांकन। यदि गलत है, अभिव्यक्ति झूठी वापसी करती है; अन्यथा, अभिव्यक्ति दूसरे ऑपरेंड का मान देता है।
आपको लगता है कि आप true && true
का मूल्यांकन करते हैं और फिर दूसरे ऑपरेंड का परिणाम वापस कर दिया जाता है। यदि आपने 3 && 4
लिखा है, तो आपको 4
मिल गया होगा!
यहाँ उत्कृष्ट जवाब के अलावा:
आप शायद तार्किक और बिटवाइज़ ands भ्रमित।
$ irb
1.9.3-p125 :001 > 1 & 0
=> 0
1.9.3-p125 :002 > 0 & 1
=> 0