Elixir सही और गलत वैल्यू को बूलियन टाइप से दर्शाता है। ऐसी वैल्यू केवल दो होती हैं: true और false. इन वैल्यू को एक वेरिएबल में बाँधा जा सकता है:
true_variable = true
false_variable = false
हम and/2, or/2 और not/1 ऑपरेटरों की मदद से सख्त बूलियन एक्सप्रेशन का मूल्यांकन कर सकते हैं।
true_variable = true and true
false_variable = true and false
true_variable = false or true
false_variable = false or false
true_variable = not false
false_variable = not true
जब कोई फंक्शन बूलियन वैल्यू लौटाता है, तो उस फंक्शन के नाम के अंत में ? लगाना आम बात है। यही तरीका उन वेरिएबलो के लिए भी अपनाया जा सकता है जिनमें बूलियन वैल्यू रखी जाती हैं।
def either_true?(a?, b?) do
a? or b?
end
इस अभ्यास में आपको क्लासिक गेम Pac-Man के कुछ नियम Elixir फंक्शनों में बदलने हैं।
आपको चार नियम बदलने हैं, जो सब खेल की स्थितियों से जुड़े हैं।
इस बात की चिंता न कीजिए कि आर्गुमेंट कैसे निकाले गए हैं, बस आर्गुमेंट को मिलाकर जो परिणाम चाहिए, वह लौटाने पर ध्यान दीजिए।
Rules.eat_ghost?/2 फंक्शन बनाइए जो दो आर्गुमेंट लेता है (क्या Pac-Man का पावर पेलेट चालू है और क्या Pac-Man किसी भूत को छू रहा है) और बूलियन वैल्यू लौटाता है कि Pac-Man भूत खा सकता है या नहीं। फंक्शन को true तभी लौटाना चाहिए जब Pac-Man का पावर पेलेट चालू हो और वह किसी भूत को छू रहा हो।
Rules.eat_ghost?(false, true)
# => false
Rules.score?/2 फंक्शन बनाइए जो दो आर्गुमेंट लेता है (क्या Pac-Man किसी पावर पेलेट को छू रहा है और क्या Pac-Man किसी बिंदु को छू रहा है) और बूलियन वैल्यू लौटाता है कि Pac-Man ने स्कोर किया या नहीं। फंक्शन को true तब लौटाना चाहिए जब Pac-Man किसी पावर पेलेट या किसी बिंदु को छू रहा हो।
Rules.score?(true, true)
# => true
Rules.lose?/2 फंक्शन बनाइए जो दो आर्गुमेंट लेता है (क्या Pac-Man का पावर पेलेट चालू है और क्या Pac-Man किसी भूत को छू रहा है) और बूलियन वैल्यू लौटाता है कि Pac-Man हारता है या नहीं। फंक्शन को true तब लौटाना चाहिए जब Pac-Man किसी भूत को छू रहा हो और उसका कोई पावर पेलेट चालू न हो।
Rules.lose?(false, true)
# => true
Rules.win?/3 फंक्शन बनाइए जो तीन आर्गुमेंट लेता है (क्या Pac-Man सारे बिंदु खा चुका है, क्या Pac-Man का पावर पेलेट चालू है, और क्या Pac-Man किसी भूत को छू रहा है) और बूलियन वैल्यू लौटाता है कि Pac-Man जीतता है या नहीं। फंक्शन को true तब लौटाना चाहिए जब Pac-Man सारे बिंदु खा चुका हो और भाग 3 में बताए गए आर्गुमेंट के आधार पर हारा न हो।
Rules.win?(false, true, false)
# => false
Exercism पर साइन अप कीजिए और Elixir को 58 कॉन्सेप्ट168 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।