Az enum (az enumeráció rövidítése) egy olyan típus, amely korlátozza egy adat összes lehetséges értékét. Az enum lehetséges értékeit variánsoknak nevezzük. Az enum emellett jól működik a match-csel és más vezérlési operátorokkal, hogy segítsen kifejezni a szándékodat a Rust-programjaidban.
Ebben a feladatban félig strukturált naplóüzeneteket fogsz előállítani.
Néhány előre elkészített, üres törzsű függvényből és a következő felsorolásból indulsz ki:
#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
}
A célod, hogy a következő formátumban állíts elő naplóüzenetet: "[<LEVEL>]: <MESSAGE>".
Ehhez olyan függvényeket kell megvalósítanod, amelyek megfelelnek a naplózási szinteknek.
Például az alábbi részlet a log függvény egy várható kimenetét mutatja be.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
Az info függvény esetében pedig:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Jó szórakozást!
Ebben a tesztkészletben van egy feature-kapuval védett teszt. A feature-kapuk bizonyos programrészek fordítását teljesen letiltják. Ezekre később még kitérünk. Egyelőre csak annyit jegyezz meg, hogy van egy teszt, amely csak akkor fordul le és fut le, ha egy speciális parancsot használsz a teszteléshez:
cargo test --features add-a-variant
Ez a teszt azt hivatott megmutatni, hogyan adj hozzá egy új változatot a felsorolásodhoz.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.