En F#, un string, es decir, una cadena, es un objeto que representa texto inmutable como una secuencia de caracteres Unicode (letras, dígitos, puntuación, etc.) y se define así:
let fruit = "Apple"
Para manipular un string, puedes llamar a sus métodos o usar las funciones del módulo String. Una vez que se ha construido un string, su valor nunca puede cambiar. Cualquier método o función que parezca modificar un string en realidad devuelve un string nuevo.
Los strings se pueden concatenar o formatear de varias maneras diferentes.
+ 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 un 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 una cadena con el siguiente formato: "[<LEVEL>]: <MESSAGE>".
Existen tres niveles de registro diferentes:
INFOWARNINGERRORTienes tres tareas, y cada una recibe una línea de registro y te pide hacer 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"
Se deben eliminar los espacios en blanco al principio y al 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, el cual debe devolverse en minúsculas:
logLevel "[ERROR]: Invalid operation"
// => "error"
Implementa la función reformat que reformatea la línea de registro, poniendo 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.