Óra

Óra

Közepes

Utasítások

Készíts egy órát, amely dátum nélkül kezeli az időpontokat.

Perceket is hozzáadhatsz hozzá, és kivonhatsz belőle.

Két óra, amely ugyanazt az időpontot mutatja, egyenlő legyen egymással.

Megvalósítás

A feladat megoldásához definiálnod kell a Clock adattípust, hozzá kell adnod egy BEq és egy ToString példányt, majd meg kell valósítanod a következő függvényeket:

  • create, amely két egész számot kap, akár negatívokat is, amelyek rendre az órákat és a perceket jelentik, és létrehoz egy érvényes Clock-ot.
  • add, amely egy Clock-ot és a Clock idejéhez hozzáadandó percek számát kapja, és egy új Clock-ot hoz létre.
  • subtract, amely egy Clock-ot és a Clock idejéből kivonandó percek számát kapja, és egy új Clock-ot hoz létre.

Figyelj arra, hogy a Clock típus egy 24 órás órát jelképez, amely „00:00”-tól „23:59”-ig terjed.

Advanced

Figyelj arra, hogy a Clock-ban az órák és a percek is korlátosak:

  • 0 <= hour < 24
  • 0 <= minute < 60

A Leanben megszokott, hogy az ilyen megkötéseket típusszinten fejezzük ki, így az érvénytelen értékek ábrázolhatatlanok lesznek. Ez viszont azt is megköveteli, hogy bebizonyítsuk, hogy egy adott érték megfelel ezeknek a megkötéseknek.

Ha van kedved hozzá, itt egy jó bevezető erről a témáról:


Forrás

Páros programozási foglalkozás Erin Drummonddal
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Lean Exercism

Készen állsz elkezdeni a(z) Óra feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Lean nyelvet 100 feladat segítségével, valódi emberi mentorálással, mindez ingyen.