Enums, kurz für Aufzählungen, sind ein Typ, der alle möglichen Werte von bestimmten Daten einschränkt. Die möglichen Werte eines enum heißen Varianten. Enums lassen sich außerdem gut mit match und anderen Operatoren für den Kontrollfluss kombinieren, damit du deine Absicht in deinen Cairo-Programmen ausdrücken kannst.
In dieser Übung erzeugst du halbstrukturierte Log-Nachrichten.
Du startest mit einigen vorgegebenen Stub-Funktionen und dem folgenden Enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Dein Ziel ist es, eine Log-Nachricht nach folgendem Muster auszugeben: "[<LEVEL>]: <MESSAGE>".
Dafür musst du Funktionen implementieren, die den Log-Leveln 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ß!
Melde dich bei Exercism an, um Cairo mit 25 Konzepte68 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.