Los enums, abreviatura de enumeraciones, son un tipo que limita todos los valores posibles de ciertos datos. Los valores posibles de un enum se llaman variantes. Los enums también funcionan bien con match y otros operadores de control de flujo para ayudarte a expresar tu intención en tus programas de Cairo.
En este ejercicio vas a generar mensajes de registro semiestructurados.
Empezarás con algunas funciones stub y el siguiente enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Tu objetivo es emitir un mensaje de registro de la siguiente forma: "[<LEVEL>]: <MESSAGE>".
Tendrás que implementar funciones que correspondan a los niveles de registro.
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.