Ми завжди бігали заради самого задоволення: без розкладів, без таймерів, лише звук наших кроків по асфальту. Але тепер, коли ми долучилися до бігової команди, яка бере участь у змаганнях, усе стає серйозним. Тренування вимірюють до секунди, і кожна частка секунди на рахунку. Щоб тримати темп, ми придбали Секундомір на частки секунди, витончений високотехнологічний ґаджет, який ось-ось стане нашим найкращим другом.
Ваше завдання - створити секундомір, щоб точно відстежувати час кіл.
Секундомір використовує чотири команди (start, stop, lap і reset), щоб відстежувати:
Які команди можна використати, залежить від того, у якому стані перебуває секундомір:
| Команда | Початковий стан | Кінцевий стан | Дія |
|---|---|---|---|
| Start | Готовий | Запущений | Почати відстежувати час |
| Start | Зупинений | Запущений | Продовжити відстежувати час |
| Stop | Запущений | Зупинений | Припинити відстежувати час |
| Lap | Запущений | Запущений | Додати поточне коло до попередніх кіл, а потім скинути поточне коло |
| Reset | Зупинений | Готовий | Скинути поточне коло й очистити попередні кола |
Для виконання цієї вправи визначте тип даних stopwatch та реалізуйте функції:
Заготовка визначення типу вже є на місці, але функції потрібно визначити самостійно та створити змістовний тип даних.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Standard ML, а також 90 вправ та справжнє наставництво від людей, і все це безкоштовно.