बूलियन क्या है?
एक बूलियन एक तर्क कथन में उपयोग किया जाने वाला मान है, यह कहने के लिए कि क्या कुछ सही या गलत माना जाता है।
इसका निर्णय लेने के लिए उपयोग किया जा सकता है ।
रूबी में हमारे पास बूलियन क्लास नहीं है, लेकिन हमारे पास बूलियन ऑब्जेक्ट हैं!
हमारे पास true
है &false
।
TrueClass
. के सिंगलटन ऑब्जेक्ट कौन से हैं? &FalseClass
।
जब आप विधियों का उपयोग करते हैं तो आपको एक बूलियन मान मिलता है :
empty?
all?
match?
और समान चिह्न वाली चीज़ों की तुलना करें :
1 == 1 # true
ध्यान रखें कि ==
रूबी में भी एक विधि है, इसका मतलब है कि इस पद्धति को कैसे लागू किया जाता है, इसके आधार पर व्यवहार बदल सकता है।
सच्चे और झूठे मूल्य
एक सच्चा मूल्य क्या है?
यह एक ऐसा मान है जिसे true
माना जाता है एक बूलियन संदर्भ में, एक if कथन की तरह।
रूबी में सब कुछ सच है लेकिन ये दोनों हैं :
false
nil
इन दो मूल्यों, और केवल इन दोनों को, हम "मिथ्या" कहते हैं।
बूलियन अभ्यास में हैं
इसका मतलब है कि अगर आपकी कोई शर्त है...
इसे पसंद करें :
if bacon puts "we got bacon" end
रूबी जाँचता है कि क्या bacon
सच है (कुछ भी लेकिन false
/ nil
) स्ट्रिंग को प्रिंट करने से पहले।
दूसरे शब्दों में :
यदि आप bacon
पर कोई विधि कॉल नहीं कर रहे हैं, तो आपको शून्य की जांच करने की आवश्यकता नहीं है ।
सुरक्षित नेविगेटर
कभी-कभी आप ऑब्जेक्ट पर कोई विधि कॉल करना चाहते हैं।
इसे पसंद करें :
if bacon.stock # ... end
यह आपको एक त्रुटि देगा यदि bacon
शून्य है, इससे बचने के लिए आप निम्न कार्य कर सकते हैं…
उदाहरण :
if bacon&.stock # ... end
यह &.
इसे सुरक्षित नेविगेशन ऑपरेटर कहा जाता है और इसे रूबी 2.3 में पेश किया गया था।
बूलियन तरीके
क्या आपने इन विधियों को एक प्रश्न चिह्न के साथ समाप्त होते देखा है?
जैसे empty?
।
हम इन "विधेय विधियों" को कहते हैं और परंपरा के अनुसार वे हमेशा true
. लौटाते हैं या false
।
आप अपना खुद का लिख सकते हैं :
def published? # ... end def ready? # ... end
यह एक बेहतरीन पैटर्न है जो आपके कोड को रूबी जैसा महसूस कराएगा।
बूलियन पैरामीटर एक अच्छा विचार नहीं हैं
हमने केवल बूलियन विधियों को शामिल किया है, जो बहुत बढ़िया हैं, लेकिन आप बूलियन पैरामीटर से बचना चाहते हैं।
उदाहरण :
def bacon(raw) end bacon(false)
जब आप bacon(false)
को देखते हैं आपको नहीं पता कि यह false
क्या है? मतलब।
पता लगाने के लिए आपको कोड में खोदना होगा।
उसके ऊपर, एक बूलियन मान का अर्थ है कि आपका तरीका जितना आवश्यक होना चाहिए उससे अधिक जटिल होने जा रहा है। ।
समाधान?
विधि को दो भागों में विभाजित करें, या अपने कोड को इस तरह से डिज़ाइन करें जहाँ यह आवश्यक न हो।
बूलियन लॉजिक
TrueClass और FalseClass कुछ तरीकों को लागू करते हैं।
to_s की तरह, और निरीक्षण करें।
लेकिन अधिक दिलचस्प हैं :
&
|
^
ये अजीब दिखने वाले तरीके क्या हैं?
बूलियन तर्क।
यहां एक बूलियन तर्क तालिका है :
Name | प्रतीक | TRUE / TRUE | TRUE / FALSE |
---|---|---|---|
और | & | सत्य | गलत |
या | | | सत्य | सत्य |
XOR | ^ | गलत | सत्य |
उदाहरण :
true & true
जबकि हम अक्सर अपने कोड में बूलियन लॉजिक का उपयोग नहीं करते हैं, यह कंप्यूटर के काम करने के तरीके की नींव बनाता है, इसलिए इसके बारे में जानना दिलचस्प है।
सारांश
आपने रूबी में बूलियन मूल्यों के बारे में सीखा है! याद रखें कि सब कुछ "सत्य" है, केवल अपवाद false
. है &nil
।
इस लेख को साझा करना न भूलें ताकि अधिक लोग इसे ढूंढ सकें 🙂
पढ़ने के लिए धन्यवाद।