Треки
/
Haskell
Haskell
/
Вправи
/
Годинник
Годинник

Годинник

Середня

Вказівки

Реалізуйте годинник, який працює з часом без дат.

Потрібно вміти додавати хвилини до годинника й віднімати їх від нього.

Два годинники, які показують той самий час, мають бути рівними один одному.

Підказки

Це 24-годинний годинник, який іде від «00:00» до «23:59».

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

  • addDelta
  • fromHourMin
  • toString

addDelta додає тривалість, виражену в годинах і хвилинах, до заданого часу, представленого екземпляром Clock.

fromHourMin приймає годину і хвилину та повертає екземпляр Clock із цими годинами і хвилинами.

toString приймає екземпляр Clock і повертає рядок тексту (англ. string), а саме подання годинника у форматі з доповненням нулями, як-от «08:03» або «22:35»

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

Якщо потрібна допомога, щоб почати працювати з типами, погляньте на:


Джерело

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

Час розпочати Годинник?

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