學習軌道
/
Rust
Rust
/
練習
/
半結構化日誌
半結構化日誌

半結構化日誌

學習練習

簡介

列舉(英文: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. 選修的延伸練習

這組測試中有一個受 feature gate 控制的測試。 Feature gate 會完全停用程式中某些部分的編譯。 這些之後會再介紹。 目前你只要知道,有一個測試只會在你使用特殊的測試指令時才會被建置並執行:

cargo test --features add-a-variant

這個測試的目的,是要示範如何為你的列舉新增一個變體。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Rust Exercism

準備好開始 半結構化日誌 了嗎?

註冊 Exercism,透過 99 個練習 和真人引導來學習並精通 Rust,全部免費。