Le enum, abbreviazione di «enumerazioni», sono un tipo che limita tutti i valori possibili di un dato. I valori possibili di una enum si chiamano varianti. Le enum funzionano bene anche con match e altri operatori di controllo del flusso per aiutarti a esprimere l'intento nei tuoi programmi Cairo.
In questo esercizio genererai messaggi di log semi-strutturati.
Partirai da alcune funzioni stub e dal seguente enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
L'obiettivo è emettere un messaggio di log nel formato seguente: "[<LEVEL>]: <MESSAGE>".
Dovrai implementare le funzioni che corrispondono ai livelli di log.
Per esempio, lo snippet qui sotto mostra un output previsto per la funzione log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
E per info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Buon divertimento!
Iscriviti a Exercism per imparare e padroneggiare Cairo con 25 concetti68 esercizi e il mentoring di persone reali, tutto gratis.