Enum (скорочено від enumeration) - це тип, який обмежує всі можливі значення
певних даних. Можливі значення enum називаються варіантами. Enum також
добре працює з match та іншими операторами керування потоком, щоб
допомогти нам виражати намір у наших програмах на Cairo.
У цій вправі ми генеруватимемо напівструктуровані лог-повідомлення.
Ми почнемо з кількох функцій-заглушок і такого переліку:
#[derive(Drop, Clone, PartialEq, Debug)]
pub enum LogLevel {
Info,
Warning,
Error,
Debug
}
Наша мета - створити лог-повідомлення такого вигляду: "[<LEVEL>]: <MESSAGE>".
Нам потрібно реалізувати функції, що відповідають рівням логування.
Наприклад, наведений фрагмент демонструє очікуваний результат для функції log.
log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"
А для info:
info("Timezone changed")
// Returns: "[INFO]: Timezone changed"
Гарного кодування!
Зареєструйтеся на Exercism, щоб вивчати й опановувати Cairo, а також 25 концепцій68 вправ та справжнє наставництво від людей, і все це безкоштовно.