Τα enums, δηλαδή οι απαριθμήσεις, είναι ένας τύπος που περιορίζει όλες τις πιθανές τιμές κάποιων δεδομένων. Οι πιθανές τιμές ενός enum ονομάζονται παραλλαγές. Τα enums λειτουργούν επίσης καλά με το match και με άλλους τελεστές ροής ελέγχου, βοηθώντας σε να εκφράσεις την πρόθεσή σου στα προγράμματά σου σε Cairo.
Σε αυτή την άσκηση θα δημιουργείς ημιδομημένα μηνύματα καταγραφής.
Θα ξεκινήσεις με μερικές κενές συναρτήσεις και το παρακάτω enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Ο στόχος σου είναι να παράγεις ένα μήνυμα καταγραφής ως εξής: "[<LEVEL>]: <MESSAGE>".
Θα χρειαστεί να υλοποιήσεις συναρτήσεις που αντιστοιχούν στα επίπεδα καταγραφής.
Για παράδειγμα, το παρακάτω απόσπασμα δείχνει μια αναμενόμενη έξοδο για τη συνάρτηση log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
Και για τη συνάρτηση info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Καλή διασκέδαση!
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Cairo με 25 έννοιες68 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.