Un string en Clojure es una cadena de caracteres de Java, que es un objeto que representa texto inmutable como una secuencia de caracteres Unicode (letras, dígitos, signos de puntuación, etc.) y se define como sigue:
(def fruit "Apple")
La biblioteca clojure.string proporciona muchas funciones estándar para manipular y procesar strings. Además, todos los métodos habituales de Java para operar con strings están disponibles mediante la interoperabilidad.
En este ejercicio vas a procesar líneas de log.
Cada línea de log es un string con el siguiente formato: "[<LEVEL>]: <MESSAGE>".
Hay tres niveles de log diferentes:
INFOWARNINGERRORTienes tres tareas; cada una recibirá una línea de log y te pedirá que hagas algo con ella.
Implementa la función message para que devuelva el mensaje de una línea de log:
(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"
Cualquier espacio en blanco al principio o al final debe eliminarse:
(message "[WARNING]: Disk almost full\r\n")
;;=> "Disk almost full"
Implementa la función log-level para que devuelva el nivel de log de una línea de log, que debe devolverse en minúsculas:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
Implementa la función reformat que reformatea la línea de log, poniendo el mensaje primero y el nivel de log después, entre paréntesis:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.