accumulate অপারেশনটি ইমপ্লিমেন্ট করুন। এটি একটি কালেকশন এবং কালেকশনের প্রতিটি এলিমেন্টে করার জন্য একটি অপারেশন নেয়, আর ইনপুট কালেকশনের প্রতিটি এলিমেন্টে ওই অপারেশন প্রয়োগের ফলাফল নিয়ে একটি নতুন কালেকশন রিটার্ন করে।
ধরা যাক, সংখ্যাগুলোর কালেকশনটি হলো:
আর অপারেশনটি হলো:
x => x * x)আপনার কোড বর্গগুলোর কালেকশন তৈরি করতে সক্ষম হওয়া উচিত:
প্রত্যাশিত ফাংশন সিগনেচার দেখতে টেস্ট স্যুটটি দেখুন।
আপনার স্ট্যান্ডার্ড লাইব্রেরির দেওয়া collect/map/fmap/whatchamacallit ফাংশনালিটির ওপর হাত দূরে রাখুন! এর বদলে অন্য সাধারণ টুল ব্যবহার করে এটি নিজেই সমাধান করুন।
আরও নির্দিষ্ট করে বললে, বিল্ট-ইন LINQ মেথডগুলোর কোনোটিই আপনি ব্যবহার করতে পারবেন না।
যেহেতু accumulate একটি IEnumerable রিটার্ন করে, তাই এর এক্সিকিউশন স্থগিত থাকে যতক্ষণ না এটির উপর ToList() কল করা হয়; এটি Accumulate_is_lazy মেথড দিয়ে পরীক্ষা করা হয়।
এই অনুশীলনীতে আপনাকে একটি এক্সটেনশন মেথড লিখতে হবে। আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন।
Exercism-এ সাইন আপ করুন, C# ট্র্যাকের 62টি কনসেপ্ট178টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।