نفّذ عمليتَي keep وdiscard على المجموعات.
إذا أُعطيت مجموعة ودالة شرطية تعمل على عناصرها، فإن keep تُرجع مجموعة جديدة تضم العناصر التي تكون فيها الدالة الشرطية صحيحة. أما discard فتُرجع مجموعة جديدة تضم العناصر التي تكون فيها الدالة الشرطية خاطئة.
على سبيل المثال، إذا أُعطيت مجموعة الأعداد:
والدالة الشرطية:
فينبغي أن تُنتج عملية keep ما يلي:
في حين ينبغي أن تُنتج عملية discard ما يلي:
لاحظ أن اتحاد عمليتَي keep وdiscard يشمل كل العناصر.
قد تُسمّى الدالتان keep وdiscard، أو قد تحتاجان إلى اسمين مختلفين كي لا تتعارضا مع دوال أو مفاهيم موجودة في لغة البرمجة التي تستخدمها.
لا تمدّ يدك إلى وظائف filter/reject/ما شابهها التي توفرها مكتبتك القياسية!
حلّ هذه المسألة بنفسك باستخدام أدوات أساسية أخرى بدلًا من ذلك.
يُركّز هذا التمرين على إضافة طرق إلى بنية Array في Swift.
أسهل ما يمكن فعله هو استخدام الامتدادات.
extension Array {
// Write your code for the 'Strain' exercise in this file.
}
يمكنك العثور على توثيق Array هنا.
سجّل في Exercism لتتعلّم وتتقن Swift عبر 35 مفهومًا116 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.