Треки
/
Haskell
Haskell
/
Вправи
/
Початкова школа
Початкова школа

Початкова школа

Легка

Вказівки

Маючи імена учнів разом із класом, у якому вони навчаються, створіть список учнів для школи.

Зрештою, ми маємо вміти:

  • Додавати імʼя учня до списку для класу
    • «Додайте Jim до класу 2.»
    • «Гаразд.»
  • Отримувати список усіх учнів, зарахованих до класу
    • «Які учні в класі 2?»
    • «Наразі в нас лише Jim.»
  • Отримувати відсортований список усіх учнів з усіх класів. Класи мають сортуватися як 1, 2, 3 тощо, а учні в межах класу мають бути відсортовані за алфавітом.
    • «Хто зараз навчається в школі?»
    • «Хвилинку, поміркую. У класі 1 у нас Anna, Barb і Charlie, у класі 2 — Alex, Peter і Zoe, а в класі 5 — Jim. Отже, відповідь така: Anna, Barb, Charlie, Alex, Peter, Zoe і Jim»

Зауважте, що всі наші учні мають лише одне імʼя (маленьке містечко, чого ж іще чекати?), і жодного учня не можна додати до класу чи до списку більше ніж один раз. Насправді, коли тест намагається додати того самого учня більше ніж один раз, наша реалізація має вказати, що це неправильно.

Підказки

Щоб виконати цю вправу, нам потрібно створити тип даних School і реалізувати такі функції:

  • add
  • empty
  • grade
  • sorted

Заготовка оголошення даних і сигнатури типів уже є, але визначити функції та створити змістовний тип даних, newtype або синонім типу доведеться нам.


Джерело

Сеанс парного програмування з Філом Баттосом у gSchool
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Haskell Exercism

Час розпочати Початкова школа?

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