Parcours
/
Rust
Rust
/
Exercices
/
Journaux semi-structurés
Journaux semi-structurés

Journaux semi-structurés

Exercice d'apprentissage

Introduction

Les énumérations (en abrégé enum) 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'emploient aussi très bien avec match et d'autres opérateurs de contrôle de flux, ce qui t'aide à exprimer ton intention dans tes programmes Rust.

Instructions

Dans cet exercice, tu vas générer des messages de journal semi-structurés.

1. Émets des messages semi-structurés

Tu commenceras avec quelques fonctions ébauchées et l'énumération suivante :

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

Ton objectif est d'émettre un message de journal comme suit : "[<LEVEL>]: <MESSAGE>". Tu devras implémenter des fonctions qui correspondent aux niveaux de log.

Par exemple, l'extrait ci-dessous montre une sortie attendue pour 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 !

2. Entraînement supplémentaire facultatif

Il y a un test conditionné par une fonctionnalité dans cette suite. Les barrières de fonctionnalité désactivent entièrement la compilation de certaines sections de ton programme. On les verra plus tard. Pour l'instant, sache simplement qu'il y a un test qui n'est compilé et exécuté que lorsque tu utilises une invocation de test spéciale :

cargo test --features add-a-variant

Ce test est destiné à te montrer comment ajouter une variante à ton énumération.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Rust Exercism

Prêt à commencer Journaux semi-structurés ?

Inscris-toi sur Exercism pour apprendre et maîtriser Rust avec 99 exercices, et un vrai mentorat humain, le tout gratuitement.