Rutas
/
F#
F#
/
Ejercicios
/
Niveles de registro
Niveles de registro

Niveles de registro

Ejercicio de aprendizaje

Introducción

Cadenas de caracteres

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.

  • 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 una 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 un string con el siguiente formato: "[<LEVEL>]: <MESSAGE>".

Hay tres niveles de registro diferentes:

  • INFO
  • WARNING
  • ERROR

Tienes tres tareas y cada una recibirá una línea de registro y te pedirá que hagas 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"

Hay que eliminar los espacios en blanco del principio y del 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, que 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 y coloca 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 pestaña nueva
F# Exercism

¿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.