عملیات keep و discard را روی مجموعهها پیادهسازی کنید.
اگر یک مجموعه و یک شرط روی عناصر آن داشته باشیم، keep مجموعهی جدیدی برمیگرداند که شامل عناصری است که شرط برایشان «درست» است و discard مجموعهی جدیدی برمیگرداند که شامل عناصری است که شرط برایشان «غلط» است.
برای مثال، مجموعهی زیر از اعداد را در نظر بگیرید:
و این شرط:
در این صورت، عملیات keep شما باید موارد زیر را تولید کند:
و عملیات discard شما باید موارد زیر را تولید کند:
توجه کنید که اجتماع keep و discard همهی عناصر است.
ممکن است این توابع keep و discard نامیده شوند، یا ممکن است برای اینکه با توابع یا مفاهیم موجود در زبان شما تعارض پیدا نکنند به نامهای دیگری نیاز داشته باشند.
به آن قابلیت filter/reject/هر چه اسمش را بگذارید که کتابخانهی استانداردتان در اختیارتان میگذارد دست نزنید!
در عوض، این یکی را خودتان با ابزارهای پایهی دیگر حل کنید.
مجموعهی تستها یک نمونه از کلاس Function را بهعنوان آرگومان بلوک به متدهای keep و discard ارسال میکند.
برای اینکه تستها را با موفقیت پاس کنید، باید آن تابع را داخل کد خودتان فراخوانی کنید.
اگر با نحوهی انجام این کار آشنا نیستید، به مستندات کلاس Function مراجعه کنید.