Треки
/
Rust
Rust
/
Вправи
/
Напівструктуровані логи
Напівструктуровані логи

Напівструктуровані логи

Навчальна вправа

Вступ

Enum (скорочено від enumerations) - це тип, який обмежує всі можливі значення деяких даних. Можливі значення enum називаються варіантами. Enum також добре працює з match та іншими операторами керування потоком, щоб допомогти нам виражати намір у наших програмах на Rust.

Вказівки

У цій вправі ми будемо генерувати напівструктуровані повідомлення журналу.

1. Виведення напівструктурованих повідомлень

Ми почнемо з кількох функцій-заглушок і такого переліку:

#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
    Info,
    Warning,
    Error,
}

Наша мета - виводити повідомлення журналу в такому вигляді: "[<LEVEL>]: <MESSAGE>". Нам потрібно буде реалізувати функції, що відповідають рівням журналу.

Наприклад, наведений нижче фрагмент демонструє очікуваний результат роботи функції log.

log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"

А для info:

info("Timezone changed")
// Returns: "[INFO]: Timezone changed"

Приємної роботи!

2. Необовʼязкова додаткова практика

У цьому наборі тестів є тест, увімкнення якого керується можливістю. Прапорці можливостей повністю вимикають компіляцію окремих частин нашої програми. Про них ми поговоримо пізніше. Поки що достатньо знати, що є тест, який збирається й запускається лише з особливим викликом тестування:

cargo test --features add-a-variant

Цей тест покликаний показати, як додати варіант до нашого переліку.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Rust Exercism

Час розпочати Напівструктуровані логи?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Rust, а також 99 вправ та справжнє наставництво від людей, і все це безкоштовно.