Recapitulação - Parser de Arquivos de Log
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 40 de 54.
Desafio
FácilEscreva uma função parseLogEntry que receba logEntry e retorne as informações de log extraídas em uma string formatada.
Use string.match() com múltiplas capturas para extrair o nível do log (entre colchetes), o texto da mensagem e o ID numérico da entrada de log. Retorne essas três informações separadas por vírgulas.
Lógica:
- Use um padrão com três capturas: uma para o nível do log dentro dos colchetes, uma para o texto da mensagem e uma para o ID numérico
- O nível do log são letras maiúsculas dentro de colchetes
- A mensagem é o texto entre os dois pontos e o ID numérico
- O ID é um ou mais dígitos ao final
- Retorne os três valores capturados no formato:
level,message,id
Parâmetros:
logEntry(string): Uma entrada de log no formato[LEVEL]: Message text ID
Retorna: As informações extraídas como level,message,id (string)
Experimente você mesmo
function parseLogEntry(logEntry)
-- Escreva o código aqui
end
Todas as lições de Logic & Flow
1Iteração Avançada de Tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de Personagem4Introdução às Metatabelas
O que é uma Metatabela?setmetatable & getmetatableO Metamétodo __indexO Metamétodo __newindexO Metamétodo __tostringMetamétodos Aritméticos Parte 1Metamétodos Aritméticos Parte 2Recapitulação - Tabela Somente Leitura7Manipulação Avançada de Strings
string.gsub() para SubstituiçãoIntrodução a Padrões de Stringstring.find()string.match()Iteração com string.gmatch()Recapitulação - Parser de Arquivos de Log2Mais Funções da Biblioteca Table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRecapitulação - Placar de recordes