Tracks
/
F#
F#
/
Ejercicios
/
Niveles de registro
Niveles de registro

Niveles de registro

Ejercicio de aprendizaje

Introducción

Strings

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.

  • Puedes usar el operador + para concatenar:
let sentence = "Apple" + " is a type of fruit."
  • Puedes usar la función 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"

Instrucciones

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:

  • INFO
  • WARNING
  • ERROR

Tienes tres tareas, y cada una recibe una línea de registro y te pide hacer algo con ella.

1. Obtén el mensaje de una línea de registro

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"

2. Obtén el nivel de registro de una línea de registro

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"

3. Reformatea una línea de registro

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)"
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
F# Exercism

¿Todo listo para empezar Niveles de registro?

Regístrate en Exercism para aprender y dominar F# con 18 conceptos148 ejercicios y mentoría humana real, todo gratis.