Uma string em Clojure é uma string do Java: um objeto que representa texto imutável como uma sequência de caracteres Unicode (letras, dígitos, pontuação etc.) e é definida assim:
(def fruit "Apple")
A biblioteca clojure.string oferece muitas funções padrão de manipulação e processamento de strings. Além disso, todos os métodos Java usuais para operar com strings ficam disponíveis por meio da interoperabilidade com o Java.
Neste exercício, você vai processar linhas de log.
Cada linha de log é uma string formatada assim: "[<LEVEL>]: <MESSAGE>".
Há três níveis de log diferentes:
INFOWARNINGERRORVocê tem três tarefas. Cada uma recebe uma linha de log e pede que você faça algo com ela.
Implemente a função message para retornar a mensagem de uma linha de log:
(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"
Implemente a função log-level para retornar o nível de log de uma linha de log, que deve ser retornado em minúsculas:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
Implemente a função reformat que reformata a linha de log, colocando a mensagem primeiro e o nível de log depois dela entre parênteses:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
Crie sua conta no Exercism para aprender e dominar Clojure com 12 conceitos105 exercícios e mentoria humana de verdade, tudo de graça.