Tracks
/
Rust
Rust
/
Ejercicios
/
Registros semiestructurados
Registros semiestructurados

Registros semiestructurados

Ejercicio de aprendizaje

Introducción

Los enums, abreviatura de enumeraciones, son un tipo que restringe 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 flujo de control que te ayudan a expresar tu intención en tus programas de Rust.

Instrucciones

En este ejercicio vas a generar mensajes de registro semiestructurados.

1. Emite mensajes semiestructurados

Empezarás con algunas funciones sin implementar y la siguiente enumeración:

#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
    Info,
    Warning,
    Error,
}

Tu objetivo es emitir un mensaje de registro con este formato: "[<LEVEL>]: <MESSAGE>". Tendrás que implementar las funciones que corresponden a cada nivel 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!

2. Práctica adicional opcional

En este conjunto de pruebas hay una prueba condicionada por una feature. Las feature gates desactivan por completo la compilación de ciertas secciones de tu programa. Las veremos más adelante. Por ahora, solo ten en cuenta que hay una prueba que solo se compila y se ejecuta cuando usas una invocación de prueba especial:

cargo test --features add-a-variant

Esta prueba pretende mostrarte cómo agregar una variante a tu enumeración.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Registros semiestructurados?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.