Les enums, abréviation de « énumérations », sont un type qui limite l'ensemble des valeurs possibles d'une donnée. Les valeurs possibles d'un enum s'appellent des variantes. Les énumérations s'accordent aussi très bien avec match et les autres opérateurs de contrôle de flux, ce qui t'aide à exprimer ton intention dans tes programmes Cairo.
Dans cet exercice, tu vas générer des messages de log semi-structurés.
Tu partiras de quelques fonctions vides et de l'énumération suivante :
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Ton objectif est d'émettre un message de log sous la forme suivante : "[<LEVEL>]: <MESSAGE>".
Tu devras implémenter des fonctions qui correspondent aux niveaux de log.
Par exemple, l'extrait ci-dessous montre la sortie attendue de la fonction log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
Et pour info :
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Amuse-toi bien !
Inscris-toi sur Exercism pour apprendre et maîtriser Cairo avec 25 concepts68 exercices, et un vrai mentorat humain, le tout gratuitement.