Enums, abreviação de enumerações, são um tipo que limita todos os valores possíveis de um
dado. Os valores possíveis de um enum são chamados de variantes. Os enums também
funcionam bem com match e outros operadores de fluxo de controle, ajudando você a
expressar sua intenção em seus programas em Cairo.
Neste exercício, você vai gerar mensagens de log semiestruturadas.
Você vai começar com algumas funções já esboçadas e com o seguinte enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Seu objetivo é emitir uma mensagem de log no seguinte formato: "[<LEVEL>]: <MESSAGE>".
Você vai precisar implementar funções que correspondam aos níveis de log.
Por exemplo, o trecho abaixo demonstra uma saída esperada para a função log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
E para info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Divirta-se!
Crie sua conta no Exercism para aprender e dominar Cairo com 25 conceitos68 exercícios e mentoria humana de verdade, tudo de graça.