نفّذ عمليتَي keep وdiscard على المجموعات.
إذا أُعطيت مجموعة ودالة شرطية تعمل على عناصرها، فإن keep تُرجع مجموعة جديدة تضم العناصر التي تكون فيها الدالة الشرطية صحيحة. أما discard فتُرجع مجموعة جديدة تضم العناصر التي تكون فيها الدالة الشرطية خاطئة.
على سبيل المثال، إذا أُعطيت مجموعة الأعداد:
والدالة الشرطية:
فينبغي أن تُنتج عملية keep ما يلي:
في حين ينبغي أن تُنتج عملية discard ما يلي:
لاحظ أن اتحاد عمليتَي keep وdiscard يشمل كل العناصر.
قد تُسمّى الدالتان keep وdiscard، أو قد تحتاجان إلى اسمين مختلفين كي لا تتعارضا مع دوال أو مفاهيم موجودة في لغة البرمجة التي تستخدمها.
لا تمدّ يدك إلى وظائف filter/reject/ما شابهها التي توفرها مكتبتك القياسية!
حلّ هذه المسألة بنفسك باستخدام أدوات أساسية أخرى بدلًا من ذلك.
تمرّر مجموعة الاختبارات نسخةً من فئة Function إلى الطريقتين keep وdiscard كوسيط كتلة.
ولكي تنجح في اجتياز الاختبارات، ستحتاج إلى استدعاء تلك الدالة داخل الكود الخاص بك.
إذا لم تكن على دراية بكيفية القيام بذلك، فراجع توثيق فئة Function.
سجّل في Exercism لتتعلّم وتتقن Wren عبر 117 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.