صاف‌کردن

صاف‌کردن

آسان

دستورالعمل‌ها

عملیات keep و discard را روی مجموعه‌ها پیاده‌سازی کنید. اگر یک مجموعه و یک شرط روی عناصر آن داشته باشیم، keep مجموعه‌ی جدیدی برمی‌گرداند که شامل عناصری است که شرط برایشان «درست» است و discard مجموعه‌ی جدیدی برمی‌گرداند که شامل عناصری است که شرط برایشان «غلط» است.

برای مثال، مجموعه‌ی زیر از اعداد را در نظر بگیرید:

  • ۱، ۲، ۳، ۴، ۵

و این شرط:

  • آیا عدد زوج است؟

در این صورت، عملیات keep شما باید موارد زیر را تولید کند:

  • ۲، ۴

و عملیات discard شما باید موارد زیر را تولید کند:

  • ۱، ۳، ۵

توجه کنید که اجتماع keep و discard همه‌ی عناصر است.

ممکن است این توابع keep و discard نامیده شوند، یا ممکن است برای اینکه با توابع یا مفاهیم موجود در زبان شما تعارض پیدا نکنند به نام‌های دیگری نیاز داشته باشند.

محدودیت‌ها

به آن قابلیت filter/reject/هر چه اسمش را بگذارید که کتابخانه‌ی استانداردتان در اختیارتان می‌گذارد دست نزنید! در عوض، این یکی را خودتان با ابزارهای پایه‌ی دیگر حل کنید.

کلاس نوع

این تمرین می‌خواهد که یک کلاس نوع به اسم Partition با دو متد تعریف شود: keep و discard.

این فصل مقدمه‌ی خوبی برای این موضوع است. شاید بخواهید نگاهی هم به مرجع زبان بیندازید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Lean Exercism

آماده‌اید صاف‌کردن را شروع کنید؟

در Exercism ثبت‌نام کنید تا Lean را همراه با 100 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.