ट्रैक
/
Unison
Unison
/
अभ्यास
/
ब्रैकेट का मिलान
ब्रैकेट का मिलान

ब्रैकेट का मिलान

कठिन

परिचय

आपको Bracketeer™ के लिए सॉफ्टवेयर लिखने का मौका मिला है, जो एक पुराना लेकिन शक्तिशाली मेनफ्रेम है। इस पर चलने वाला सॉफ्टवेयर एक निजी भाषा में लिखा जाता है। इस भाषा का बहुत सारा सिंटैक्स परिचित लगता है, लेकिन आप देखते हैं कि इसमें ढेरों चौकोर ब्रैकेट, ब्रेस और गोल ब्रैकेट हैं। Bracketeer™ बहुत शक्तिशाली होने के बावजूद लचीला नहीं है। अगर सोर्स कोड में चौकोर ब्रैकेट, ब्रेस या गोल ब्रैकेट संतुलित नहीं हैं, तो Bracketeer™ क्रैश हो जाता है और उसे रीबूट करना पड़ता है। ऐसी परिस्थिति से बचने के लिए आप एक ऐसा कोड लिखना शुरू करते हैं जो यह जाँच सके कि चौकोर ब्रैकेट, ब्रेस और गोल ब्रैकेट संतुलित हैं या नहीं। इसकी जाँच के बाद ही आप उस कोड को Bracketeer™ पर चलाने की कोशिश करते हैं।

निर्देश

एक स्ट्रिंग दी गई है जिसमें चौकोर ब्रैकेट [], घुंघराले ब्रैकेट {}, गोल ब्रैकेट () या इनका कोई भी मेल हो सकता है। जाँचिए कि इनके सभी जोड़े ठीक से मिले हुए हैं और सही तरीके से नेस्टेड हैं। बाकी सभी अक्षरों पर ध्यान न दीजिए। जैसे, "{what is (42)}?" संतुलित है और "[text}" नहीं है।

कार्यान्वयन

इस अभ्यास को पूरा करने के कई तरीके हैं, लेकिन जो लोग खुद अपने एबिलिटी हैंडलर लिखने का अभ्यास करना चाहते हैं, उनके लिए हमने कुछ अतिरिक्त स्टब दिए हैं।

इस अभ्यास में दिए गए checkBalance हेल्पर फंक्शन की सिग्नेचर एक एबिलिटी रिक्वायरमेंट, {Stack} का उपयोग करती है। Stack एबिलिटी आपके लिए बनाई गई है, लेकिन हैंडलर Stack.run नहीं है! अगर आप चाहें, तो आप Stack.run, checkBalance और isPaired फंक्शन कार्यान्वित कर सकते हैं। भले ही आप इस अभ्यास को एबिलिटी की मदद से कार्यान्वित न करें, टेस्ट फिर भी चलेंगे।


स्रोत

Ginna Baker
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Unison Exercism

ब्रैकेट का मिलान शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Unison को 53 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।