Uma string em Clojure é uma string Java, que é um objeto que representa texto imutável como uma cadeia de carateres Unicode (letras, algarismos, pontuação, etc.) e é definida da seguinte forma:
(def fruit "Apple")
A biblioteca clojure.string disponibiliza muitas funções padrão de manipulação e processamento de strings. Além disso, todos os métodos Java habituais para operar sobre strings estão disponíveis através da interoperabilidade.
Neste exercício vais processar linhas de registo.
Cada linha de registo é uma string formatada da seguinte forma: "[<LEVEL>]: <MESSAGE>".
Há três níveis de registo diferentes:
INFOWARNINGERRORTens três tarefas, cada uma recebe uma linha de registo e pede-te que faças algo com ela.
Implementa a função message para devolver a mensagem de uma linha de registo:
(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"
Qualquer espaço em branco no início ou no fim deve ser removido:
(message "[WARNING]: Disk almost full\r\n")
;;=> "Disk almost full"
Implementa a função log-level para devolver o nível de registo de uma linha de registo, que deve ser devolvido em minúsculas:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
Implementa a função reformat que reformata a linha de registo, colocando a mensagem primeiro e o nível de registo a seguir, entre parênteses:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
Inscreve-te no Exercism para aprenderes e dominares Clojure com 12 conceitos105 exercícios, e mentoria humana real, tudo grátis.