Ein String (Zeichenkette), in F# als string geschrieben, ist ein Objekt, das unveränderlichen Text als Folge von Unicode-Zeichen (Buchstaben, Ziffern, Satzzeichen usw.) darstellt und wie folgt definiert wird:
let fruit = "Apple"
Strings werden manipuliert, indem du entweder die Methoden des Strings aufrufst oder die Funktionen des String-Moduls verwendest. Sobald ein String erstellt wurde, kann sich sein Wert nie mehr ändern. Alle Methoden oder Funktionen, die einen String zu verändern scheinen, geben in Wirklichkeit einen neuen String zurück.
Strings lassen sich auf verschiedene Weise verketten oder formatieren.
+-Operator zum Verketten verwenden:let sentence = "Apple" + " is a type of fruit."
sprintf zum Formatieren von Text verwenden. Dabei hast du Platzhalter in einem Formattext (%s für einen string) und übergibst die Werte als Argumente:let sentence = sprintf "%s is a type of %s." "Apple" "fruit"
In dieser Übung verarbeitest du Logzeilen.
Jede Logzeile ist ein String mit folgendem Format: "[<LEVEL>]: <MESSAGE>".
Es gibt drei verschiedene Log-Level:
INFOWARNINGERRORDu hast drei Aufgaben. Jede bekommt eine Logzeile und verlangt, dass du etwas damit machst.
Implementiere die Funktion message, die die Nachricht einer Logzeile zurückgibt:
message "[ERROR]: Invalid operation"
// => "Invalid operation"
Führende und abschließende Leerzeichen sollen entfernt werden:
message "[WARNING]: Disk almost full\r\n"
// => "Disk almost full"
Implementiere die Funktion logLevel, die das Log-Level einer Logzeile zurückgibt, und zwar in Kleinbuchstaben:
logLevel "[ERROR]: Invalid operation"
// => "error"
Implementiere die Funktion reformat, die die Logzeile neu formatiert: erst die Nachricht, danach das Log-Level in runden Klammern:
reformat "[INFO]: Operation completed"
// => "Operation completed (info)"
Melde dich bei Exercism an, um F# mit 18 Konzepte148 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.