accumulate ऑपरेशन लागू कीजिए। यह ऑपरेशन एक कलेक्शन और एक और ऑपरेशन लेता है, जिसे कलेक्शन के हर एलिमेंट पर करना होता है। फिर यह इनपुट कलेक्शन के हर एलिमेंट पर वह ऑपरेशन लागू करके जो नतीजे मिलते हैं, उन्हें लेकर एक नया कलेक्शन लौटाता है।
मान लीजिए संख्याओं का यह कलेक्शन दिया गया है:
और ऑपरेशन यह है:
x => x * x)आपके कोड से वर्गों का यह कलेक्शन बनना चाहिए:
अपेक्षित फंक्शन सिग्नेचर देखने के लिए टेस्ट सूट देखिए।
अपनी स्टैंडर्ड लाइब्रेरी में मिलने वाली उस collect/map/fmap या जो भी उसका नाम हो, ऐसी सुविधा को हाथ मत लगाइए! इसके बजाय दूसरे बुनियादी टूल इस्तेमाल करके इसे खुद हल कीजिए।
अगर आपके फंक्शन का सिग्नेचर उनसे मेल नहीं खाता, तो इस अभ्यास के टेस्ट कंपाइल टाइम एरर पैदा करेंगे, भले ही उन्हें चलाया ही न जाए। आप चाहें तो कुछ टेस्टों को कमेंट में बदल सकते हैं और अपने हल को एक-एक हिस्सा करके सामान्य बना सकते हैं।