2012-03-11 37 views

उत्तर

37

बूलियन और ऑपरेटर && अपना दूसरा ऑपरेंड देता है यदि पहले गलत नहीं है। रुबी में बूलियन अभिव्यक्तियों में 0 और 1true हैं। केवल nil और false बूलियन अभिव्यक्तियों में झूठे हैं।

nil && 15 # => nil 
15 && 17 # => 17 
15 && nil # => nil 
7

0 और 1 रूबी में सच्चाई मूल्यों का प्रतिनिधित्व नहीं करते। रूबी में जो कुछ भी nil या false सत्य नहीं है। आप इस कि करने के लिए जोड़ देते हैं तो: और

और & & ऑपरेटरों अपनी पहली संकार्य का मूल्यांकन। यदि गलत है, अभिव्यक्ति झूठी वापसी करती है; अन्यथा, अभिव्यक्ति दूसरे ऑपरेंड का मान देता है।

आपको लगता है कि आप true && true का मूल्यांकन करते हैं और फिर दूसरे ऑपरेंड का परिणाम वापस कर दिया जाता है। यदि आपने 3 && 4 लिखा है, तो आपको 4 मिल गया होगा!

3

यहाँ उत्कृष्ट जवाब के अलावा:

आप शायद तार्किक और बिटवाइज़ ands भ्रमित।

$ irb 
1.9.3-p125 :001 > 1 & 0 
=> 0 
1.9.3-p125 :002 > 0 & 1 
=> 0 
संबंधित मुद्दे