列舉(enumeration 的縮寫)是一種型別,用來限制某個資料所有可能的值。enum的可能值稱為變體。列舉也能和match及其他控制流程運算子搭配得很好,幫助你在 Cairo 程式中表達意圖。
在這個練習中,你將會產生半結構化的日誌訊息。
你會從幾個尚未實作的函式,以及下面這個 enum 開始:
#[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"
祝你玩得開心!