نفّذ عملية accumulate التي تأخذ مجموعة وعملية تُجرى على كل عنصر من عناصرها، ثم تُرجع مجموعة جديدة تحتوي على نتائج تطبيق تلك العملية على كل عنصر من عناصر المجموعة المدخلة.
لنأخذ مجموعة الأعداد التالية:
والعملية التالية:
x => x * x)يجب أن يكون الكود قادرًا على إنتاج مجموعة المربعات:
ألقِ نظرة على حزمة الاختبارات لمعرفة توقيع الدالة المتوقع.
لا تلمس تلك الوظائف المسمّاة collect أو map أو fmap أو أيًّا كان اسمها، والتي توفّرها مكتبتك القياسية!
حلّ هذه بنفسك باستخدام أدوات أساسية أخرى بدلًا منها.
اختبارات هذا التمرين ستُسبّب أخطاء وقت التصريف إذا لم يتوافق توقيع دالتك معها، حتى إن لم تُشغَّل. قد ترغب في تعليق بعض الاختبارات وتعميم حلّك جزءًا جزءًا.
سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.