Ρολόι

Ρολόι

Μέτριο

Οδηγίες

Υλοποίησε ένα ρολόι που διαχειρίζεται ώρες χωρίς ημερομηνίες.

Θα πρέπει να μπορείς να προσθέτεις και να αφαιρείς λεπτά από αυτό.

Δύο ρολόγια που δείχνουν την ίδια ώρα θα πρέπει να είναι ίσα μεταξύ τους.

Υποδείξεις

Είναι ένα ρολόι 24 ωρών που πηγαίνει από "00:00" έως "23:59".

Για να ολοκληρώσεις αυτή την άσκηση, πρέπει να ορίσεις τον τύπο δεδομένων Clock, να προσθέσεις ένα στιγμιότυπο του Eq και να υλοποιήσεις τις συναρτήσεις:

  • addDelta
  • fromHourMin
  • toString

Το addDelta προσθέτει μια διάρκεια, εκφρασμένη σε ώρες και λεπτά, σε μια δεδομένη ώρα, που αντιπροσωπεύεται από ένα στιγμιότυπο του Clock.

Το fromHourMin παίρνει μια ώρα και ένα λεπτό και επιστρέφει ένα στιγμιότυπο του Clock με αυτές τις ώρες και τα λεπτά.

Το toString παίρνει ένα στιγμιότυπο του Clock και επιστρέφει μια συμβολοσειρά που αναπαριστά το ρολόι, σε μορφή με μηδενικά στην αρχή, όπως "08:03" ή "22:35".

Θα βρεις μια εικονική δήλωση δεδομένων και υπογραφές τύπων ήδη στη θέση τους, αλλά εξαρτάται από εσένα να ορίσεις τις συναρτήσεις και να δημιουργήσεις έναν ουσιαστικό τύπο δεδομένων, newtype ή συνώνυμο τύπου.

Αν χρειάζεσαι βοήθεια για να ξεκινήσεις με τους τύπους, ρίξε μια ματιά:


Πηγή

Συνεδρία προγραμματισμού σε ζεύγη με την Erin Drummond
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Haskell Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ρολόι;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.