التجميع

التجميع

سهل

التعليمات

نفّذ عملية accumulate التي تأخذ مجموعة وعملية تُجرى على كل عنصر من عناصرها، ثم تُرجع مجموعة جديدة تحتوي على نتائج تطبيق تلك العملية على كل عنصر من عناصر المجموعة المدخلة.

لنأخذ مجموعة الأعداد التالية:

  • 1, 2, 3, 4, 5

والعملية التالية:

  • تربيع عدد (x => x * x)

يجب أن يكون الكود قادرًا على إنتاج مجموعة المربعات:

  • 1, 4, 9, 16, 25

ألقِ نظرة على حزمة الاختبارات لمعرفة توقيع الدالة المتوقع.

القيود

لا تلمس تلك الوظائف المسمّاة collect أو map أو fmap أو أيًّا كان اسمها، والتي توفّرها مكتبتك القياسية! حلّ هذه بنفسك باستخدام أدوات أساسية أخرى بدلًا منها.

ولتكون أكثر تحديدًا، لا يُسمح لك باستخدام أي من طرق LINQ المدمجة.

اختبار الكسل

بما أن accumulate تُرجع IEnumerable، فإن تنفيذها مؤجَّل حتى يتم استدعاء ToList() عليها، وهو ما يُختبر بالطريقة Accumulate_is_lazy.

تلميحات

يتطلب منك هذا التمرين كتابة طريقة امتداد. لمزيد من المعلومات، راجع هذه الصفحة.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
C# Exercism

مستعد لبدء التجميع؟

سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.