En F#, une string est un objet qui représente du texte immuable sous la forme d'une séquence de caractères Unicode (lettres, chiffres, ponctuation, etc.) et se définit comme suit :
let fruit = "Apple"
Les strings se manipulent soit en appelant les méthodes de la string, soit en utilisant les fonctions du module String. Une fois qu'une string a été construite, sa valeur ne peut plus jamais changer. Toute méthode ou fonction qui semble modifier une string renvoie en réalité une nouvelle string.
Les strings peuvent être concaténées ou formatées de plusieurs façons différentes.
+ pour la concaténation :let sentence = "Apple" + " is a type of fruit."
sprintf pour formater du texte en plaçant des marqueurs de position dans un texte de format (%s pour une string) et en fournissant les valeurs en arguments :let sentence = sprintf "%s is a type of %s." "Apple" "fruit"
Dans cet exercice, tu vas traiter des lignes de log.
Chaque ligne de log est une string au format suivant : "[<LEVEL>]: <MESSAGE>".
Il existe trois niveaux de log différents :
INFOWARNINGERRORTu as trois tâches ; chacune prend une ligne de log et te demande d'en faire quelque chose.
Implémente la fonction message pour qu'elle renvoie le message d'une ligne de log :
message "[ERROR]: Invalid operation"
// => "Invalid operation"
Les espaces en début et en fin de chaîne doivent être supprimés :
message "[WARNING]: Disk almost full\r\n"
// => "Disk almost full"
Implémente la fonction logLevel pour qu'elle renvoie le niveau de log d'une ligne de log, en minuscules :
logLevel "[ERROR]: Invalid operation"
// => "error"
Implémente la fonction reformat qui reformate la ligne de log, en plaçant le message en premier et le niveau de log après, entre parenthèses :
reformat "[INFO]: Operation completed"
// => "Operation completed (info)"
Inscris-toi sur Exercism pour apprendre et maîtriser F# avec 18 concepts148 exercices, et un vrai mentorat humain, le tout gratuitement.