Os enums, abreviatura de enumerações, são um tipo que limita todos os valores possíveis de
um determinado dado. Os valores possíveis de um enum chamam-se variantes. Os enums também
funcionam bem com match e outros operadores de controlo de fluxo, que te ajudam a
expressar a intenção nos teus programas Cairo.
Neste exercício vais gerar mensagens de registo semiestruturadas.
Vais começar com algumas funções esboçadas e com o seguinte enum:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
O teu objetivo é emitir uma mensagem de registo com o seguinte formato: "[<LEVEL>]: <MESSAGE>".
Vais ter de implementar funções que correspondem aos níveis de registo.
Por exemplo, o excerto abaixo mostra um resultado esperado para a função log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
E para info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Diverte-te!
Inscreve-te no Exercism para aprenderes e dominares Cairo com 25 conceitos68 exercícios, e mentoria humana real, tudo grátis.