Tracks
/
Rust
Rust
/
Übungen
/
Halbstrukturierte Logs
Halbstrukturierte Logs

Halbstrukturierte Logs

Lernübung

Einführung

Enums, kurz für Enumerationen, sind ein Typ, der alle möglichen Werte bestimmter Daten einschränkt. Die möglichen Werte eines enum heißen Varianten. Enums lassen sich außerdem gut mit match und anderen Kontrollfluss-Operatoren kombinieren, mit denen du deine Absicht in deinen Rust-Programmen ausdrücken kannst.

Anleitung

In dieser Übung erzeugst du semi-strukturierte Log-Nachrichten.

1. Semi-strukturierte Nachrichten ausgeben

Du startest mit ein paar Stub-Funktionen und dem folgenden Enum:

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

Dein Ziel ist es, eine Log-Nachricht im folgenden Format auszugeben: "[<LEVEL>]: <MESSAGE>". Dazu musst du Funktionen implementieren, die den Log-Levels entsprechen.

Der folgende Ausschnitt zeigt zum Beispiel eine erwartete Ausgabe für die Funktion log.

log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"

Und für info:

info("Timezone changed")
// Returns: "[INFO]: Timezone changed"

Viel Spaß!

2. Optionale Zusatzübung

In dieser Testsuite gibt es einen Test, der hinter einem Feature-Gate liegt. Feature-Gates deaktivieren die Kompilierung bestimmter Teile deines Programms vollständig. Sie werden später behandelt. Für den Moment reicht es zu wissen, dass es einen Test gibt, der nur gebaut und ausgeführt wird, wenn du einen speziellen Testaufruf verwendest:

cargo test --features add-a-variant

Dieser Test soll dir zeigen, wie du eine Variante zu deinem Enum hinzufügst.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Rust Exercism

Bereit, mit Halbstrukturierte Logs zu starten?

Melde dich bei Exercism an, um Rust mit 99 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.