A Gleamben a stringek változhatatlan szövegek, amelyeket kettős idézőjelek vesznek körül. Támogatják a Unicode-karaktereket, és több sorosak is lehetnek.
let greeting = "Hello, Joe! 📞"
let multi_line_string = "one
two
three"
A stringeket a <> operátorral fűzheted össze:
let name = "Mike"
"Hello, " <> name <> "!"
// -> "Hello, Mike!"
A standard könyvtár gleam/string modulja függvényeket kínál a stringekkel való munkához.
A stringekre case kifejezésekben is illeszthetsz mintát:
pub fn on_an_excellent_adventure(name: String) -> Bool {
case name {
"Bill" -> True
"Ted" -> True
_ -> False
}
}
Ha egy string elejére szeretnél illeszteni mintát, és a maradékot egy változóhoz rendelni, használhatod a <> operátor mintáját:
pub fn profession(name: String) -> String {
case name {
"Dr " <> rest -> rest <> " is a doctor"
_ -> "I'm not sure what " <> name <> " does"
}
}
Ebben a feladatban log sorokat fogsz feldolgozni.
Minden log sor egy string, amely a következő formátumú: "[<LEVEL>]: <MESSAGE>".
Három különböző log szint létezik:
INFOWARNINGERRORHárom részfeladatod van, mindegyik egy log sort kap, és valamit tenned kell vele.
Valósítsd meg a message függvényt, amely visszaadja egy log sor üzenetét:
message("[ERROR]: Invalid operation")
// -> "Invalid operation"
A kezdő és záró whitespace-eket el kell távolítani:
message("[WARNING]: Disk almost full\r\n")
// -> "Disk almost full"
Valósítsd meg a log_level függvényt, amely visszaadja egy log sor log szintjét kisbetűvel:
log_level("[ERROR]: Invalid operation")
// -> "error"
Valósítsd meg a reformat függvényt, amely újraformázza a log sort úgy, hogy az üzenetet teszi előre, a log szintet pedig utána zárójelben:
reformat("[INFO]: Operation completed")
// -> "Operation completed (info)"
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Gleam nyelvet 33 fogalom122 feladat segítségével, valódi emberi mentorálással, mindez ingyen.