संग्रह पर keep और discard ऑपरेशन बनाइए।
आपको एक संग्रह और उसके एलिमेंट पर लागू होने वाला एक प्रेडिकेट दिया गया है। जिन एलिमेंट के लिए प्रेडिकेट सही है, keep उन्हें लेकर एक नया संग्रह लौटाता है, और जिन एलिमेंट के लिए प्रेडिकेट गलत है, discard उन्हें लेकर एक नया संग्रह लौटाता है।
उदाहरण के लिए, संख्याओं का यह संग्रह लीजिए:
और यह प्रेडिकेट:
तब आपका keep ऑपरेशन यह नतीजा देगा:
और आपका discard ऑपरेशन यह नतीजा देगा:
ध्यान दीजिए कि keep और discard दोनों को मिलाने पर सारे एलिमेंट मिल जाते हैं।
इन फंक्शनों के नाम keep और discard हो सकते हैं, या फिर आपकी भाषा में पहले से मौजूद फंक्शनों या कॉन्सेप्टों से टकराव से बचने के लिए इन्हें कोई और नाम देना पड़ सकता है।
आपकी स्टैंडर्ड लाइब्रेरी में जो filter/reject/जो भी आप उसे कहें वाली सुविधा दी गई है, उससे हाथ दूर रखिए! इसके बजाय इसे दूसरे बुनियादी टूल इस्तेमाल करके खुद हल कीजिए।
इस अभ्यास में आपको Partition नाम की एक टाइप क्लास बनानी है, जिसमें दो मेथड हों: keep और discard.
यह अध्याय इस विषय का अच्छा परिचय देता है। आप चाहें तो भाषा का संदर्भ भी देख सकते हैं।
Exercism पर साइन अप कीजिए और Lean को 100 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।