Trilhas
/
F#
F#
/
Exercícios
/
Níveis de log
Níveis de log

Níveis de log

Exercício de aprendizagem

Introdução

Strings

Uma string em F# é um objeto que representa texto imutável, como uma sequência de caracteres Unicode (letras, dígitos, pontuação etc.), e é definida assim:

let fruit = "Apple"

As strings são manipuladas chamando os métodos da própria string ou usando as funções do módulo String. Depois que uma string é construída, seu valor nunca pode mudar. Quaisquer métodos ou funções que pareçam modificar uma string, na verdade, retornam uma nova string.

As strings podem ser concatenadas ou formatadas de algumas maneiras diferentes.

  • Você pode usar o operador + para concatenar:
let sentence = "Apple" + " is a type of fruit."
  • Você pode usar a função sprintf para formatar texto, em que você tem marcadores de posição em um texto de formato (%s para uma string) e fornece os valores como argumentos:
let sentence = sprintf "%s is a type of %s." "Apple" "fruit"

Instruções

Neste exercício, você vai processar linhas de log.

Cada linha de log é uma string formatada assim: "[<LEVEL>]: <MESSAGE>".

Existem três níveis de log diferentes:

  • INFO
  • WARNING
  • ERROR

Você tem três tarefas, e cada uma delas recebe uma linha de log e pede que você faça algo com ela.

1. Obtenha a mensagem de uma linha de log

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"

2. Obtenha o nível de log de uma linha de log

Implemente a função logLevel para retornar o nível de log de uma linha de log, que deve ser retornado em minúsculas:

logLevel "[ERROR]: Invalid operation"
// => "error"

3. Reformate uma linha de log

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)"
Editar via GitHub O link abre em uma nova janela ou aba
F# Exercism

Tudo pronto para começar Níveis de log?

Crie sua conta no Exercism para aprender e dominar F# com 18 conceitos148 exercícios e mentoria humana de verdade, tudo de graça.