Los enums, forma corta de «enumeraciones», son un tipo que limita todos los valores posibles de un dato. Los valores posibles de un enum se llaman variantes. Los enums también funcionan bien con match y otros operadores de control de flujo, que te ayudan a expresar tu intención en tus programas de Cairo.
En este ejercicio vas a generar mensajes de log semiestructurados.
Empezarás con algunas funciones sin implementar y el siguiente enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Tu objetivo es emitir un mensaje de log con este formato: "[<LEVEL>]: <MESSAGE>".
Vas a tener que implementar funciones que se correspondan con los niveles de log.
Por ejemplo, el siguiente fragmento muestra una salida esperada para la función log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
Y para info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
¡Diviértete!
Regístrate en Exercism para aprender y dominar Cairo con 25 conceptos68 ejercicios y mentoría humana real, todo gratis.