Відбір

Відбір

Легка

Вказівки

Реалізуйте операції keep і discard над колекціями. Маючи колекцію та предикат, заданий на її елементах, keep повертає нову колекцію з тими елементами, для яких предикат справджується, а discard повертає нову колекцію з тими елементами, для яких предикат не справджується.

Наприклад, візьмімо колекцію чисел:

  • 1, 2, 3, 4, 5

І предикат:

  • чи є число парним?

Тоді операція keep має повернути:

  • 2, 4

А операція discard має повернути:

  • 1, 3, 5

Зауважмо, що разом keep і discard охоплюють усі елементи.

Ці функції можуть називатися keep і discard, а можуть потребувати інших назв, щоб не конфліктувати з наявними функціями чи поняттями в мові, яку ми вивчаємо.

Обмеження

Не чіпайте ту функціональність filter/reject/як-його-там, яку надає стандартна бібліотека! Натомість розвʼяжіть цю вправу самостійно за допомогою інших базових інструментів.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Standard ML Exercism

Час розпочати Відбір?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Standard ML, а також 90 вправ та справжнє наставництво від людей, і все це безкоштовно.