Una string en F# es un objeto que representa texto inmutable como una secuencia de caracteres Unicode (letras, dígitos, signos de puntuación, etc.) y se define de la siguiente manera:
let fruit = "Apple"
Las string se manipulan ya sea llamando a los métodos de la string o usando las funciones del módulo String. Una vez construida una string, su valor nunca puede cambiar. Cualquier método o función que parezca modificar una string en realidad devolverá una string nueva.
Las string se pueden concatenar o dar formato de varias maneras distintas.
+ para concatenar:let sentence = "Apple" + " is a type of fruit."
sprintf para dar formato al texto, donde tienes marcadores de posición en un texto de formato (%s para una string) y proporcionas los valores como argumentos:let sentence = sprintf "%s is a type of %s." "Apple" "fruit"
En este ejercicio vas a procesar líneas de registro.
Cada línea de registro es un string con el siguiente formato: "[<LEVEL>]: <MESSAGE>".
Hay tres niveles de registro diferentes:
INFOWARNINGERRORTienes tres tareas y cada una recibirá una línea de registro y te pedirá que hagas algo con ella.
Implementa la función message para que devuelva el mensaje de una línea de registro:
message "[ERROR]: Invalid operation"
// => "Invalid operation"
Hay que eliminar los espacios en blanco del principio y del final:
message "[WARNING]: Disk almost full\r\n"
// => "Disk almost full"
Implementa la función logLevel para que devuelva el nivel de registro de una línea de registro, que debe devolverse en minúsculas:
logLevel "[ERROR]: Invalid operation"
// => "error"
Implementa la función reformat, que reformatea la línea de registro y coloca el mensaje primero y el nivel de registro después, entre paréntesis:
reformat "[INFO]: Operation completed"
// => "Operation completed (info)"
Regístrate en Exercism para aprender y dominar F# con 18 conceptos148 ejercicios y mentoría humana real, todo gratis.