Swift में Bool नाम का एक बिल्ट-इन टाइप होता है, जो सत्य मान दिखाने के लिए इस्तेमाल होता है: true और false।
Swift में बूलियन एक्सप्रेशन को जोड़ने और उनका मूल्यांकन करने के लिए तीन लॉजिकल ऑपरेटर (!, && और ||) हैं।
&&)and ऑपरेटर (&&) तभी true लौटाता है जब दोनों ऑपरेंड true हों।
अगर इनमें से कोई एक ऑपरेंड false है, तो यह false लौटाता है।
&& चिह्न के दोनों ओर एक एक्सप्रेशन या बूलियन वैल्यू रखिए:
true && true // true
true && false // false
||)or ऑपरेटर (||) true लौटाता है अगर कम से कम एक ऑपरेंड true है।
यह तभी false लौटाता है जब दोनों ऑपरेंड false हों।
|| चिह्न के दोनों ओर एक एक्सप्रेशन या बूलियन वैल्यू रखिए:
true || true // true
true || false // true
false || false // false
!)not ऑपरेटर (!) एक बूलियन वैल्यू को उलट देता है।
अगर वैल्यू false है, तो यह true लौटाता है; और अगर वैल्यू true है, तो false लौटाता है।
! ऑपरेटर को वैल्यू या एक्सप्रेशन के ठीक पहले रखिए:
!true // false
!false // true
()) का इस्तेमालआप गोल ब्रैकेट की मदद से एक्सप्रेशन को समूहों में बाँध सकते हैं और मूल्यांकन का क्रम तय कर सकते हैं। Swift में पहले गोल ब्रैकेट के अंदर वाले एक्सप्रेशन का मूल्यांकन होता है:
true && false && false || true // true
true && false && (false || true) // false
गोल ब्रैकेट से समूह बनाने से यह भी तय होता है कि NOT ऑपरेटर जटिल एक्सप्रेशन पर कैसे लागू होगा:
!true && false // false (evaluates (!true) first, then false && false)
!(true && false) // true (evaluates (true && false) first to false, then !false)
जब आपको मूल्यांकन का क्रम साफ़ करना हो या जटिल शर्तों को पढ़ने में आसान बनाना हो, तब गोल ब्रैकेट का इस्तेमाल कीजिए। जहाँ डिफ़ॉल्ट प्राथमिकता पहले से साफ़ है, वहाँ बेवजह गोल ब्रैकेट जोड़ने से बचिए।
आप एक नया और बहुत पसंद किए जाने वाला गेम Wings Quest बना रहे हैं। इस गेम में आप एक पक्षी हैं, जो इधर-उधर घूमता है और बीज इकट्ठा करता है। खिलाड़ी सारे बीज उठाकर जीत जाता है। अगर खिलाड़ी किसी चील के संपर्क में आ जाता है, तो वह अपने सारे बीज खो देता है और गेम हार जाता है। इस नियम का एक अपवाद है: खिलाड़ी के पास कोई सक्रिय पावर-अप हो सकता है, जिससे वह दूसरे पक्षियों से ऊँचा उड़ सकता है।
आपका उद्देश्य गेम में इस्तेमाल होने वाले कुछ नियम लिखना है।
गेम में पक्षी को बोनस अंक तब मिलते हैं जब वह पावर-अप के साथ चील को छूता है।
फंक्शन bonusPoints(powerUpActive:touchingEagle:) बनाइए, जो दो आर्गुमेंट लेता है: powerUpActive, जिसमें यह रहता है कि पक्षी के पास सक्रिय पावर-अप है या नहीं, और आर्गुमेंट touchingEagle, जिसमें यह रहता है कि पक्षी चील को छू रहा है या नहीं।
यह फंक्शन true तभी लौटाना चाहिए जब पक्षी के पास सक्रिय पावर-अप हो और वह चील को छू रहा हो, और बाकी हालतों में false.
bonusPoints(powerUpActive: false, touchingEagle: true)
// Returns false
गेम में खिलाड़ी को बीज या पावर-अप उठाने पर अंक मिलते हैं।
फंक्शन score(touchingPowerUp:touchingSeed:) बनाइए, जो दो आर्गुमेंट लेता है: touchingPowerUp, जिसमें यह रहता है कि पक्षी पावर-अप को छू रहा है या नहीं, और आर्गुमेंट touchingSeed, जिसमें यह रहता है कि पक्षी बीज को छू रहा है या नहीं।
यह फंक्शन true तब लौटाना चाहिए जब पक्षी पावर-अप या बीज को छू रहा हो, और बाकी हालतों में false.
score(touchingPowerUp: true, touchingSeed: true)
// Returns true
फंक्शन lose(powerUpActive:touchingEagle:) बनाइए, जो दो आर्गुमेंट लेता है: powerUpActive, जिसमें यह रहता है कि पक्षी के पास सक्रिय पावर-अप है या नहीं, और आर्गुमेंट touchingEagle, जिसमें यह रहता है कि पक्षी चील को छू रहा है या नहीं।
यह फंक्शन true तब लौटाना चाहिए जब पात्र चील को छू रहा हो और उसके पास सक्रिय पावर-अप न हो, और बाकी हालतों में false.
lose(powerUpActive: false, touchingEagle: true)
// Returns true
फंक्शन win(hasPickedUpAllSeeds:powerUpActive:touchingEagle:) बनाइए, जो ये आर्गुमेंट लेता है:
hasPickedUpAllSeeds: पक्षी ने सारे बीज उठा लिए हैं या नहीं।powerUpActive: पक्षी के पास सक्रिय पावर-अप है या नहीं।touchingEagle: पक्षी चील को छू रहा है या नहीं।यह फंक्शन true तब लौटाना चाहिए जब पक्षी ने सारे बीज इकट्ठा कर लिए हों और भाग 3 में बताए गए आर्गुमेंट के हिसाब से वह हारा न हो, और बाकी हालतों में false.
win(hasPickedUpAllSeeds: false, powerUpActive: true, touchingEagle: false)
// Returns false
Exercism पर साइन अप कीजिए और Swift को 35 कॉन्सेप्ट116 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।