日誌等級

日誌等級

學習練習

簡介

在 Clojure 中,string是 Java 字串,它是一個物件,將不可變的文字表示為 Unicode 字元(字母、數字、標點符號等)的序列,定義如下:

(def fruit "Apple")

clojure.string程式庫提供了許多標準的字串操作和處理函式。此外,所有常用的 Java 字串操作方法都可以透過 interop 使用。

說明

在這個練習中,你會處理日誌行。

每一行日誌都是格式如下的字串:"[<LEVEL>]: <MESSAGE>"。

日誌等級共有三種:

  • INFO
  • WARNING
  • ERROR

你有三個任務,每個任務都會拿到一行日誌,請你對它做些處理。

1. 從日誌行取得訊息

實作message函式,回傳日誌行的訊息:

(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"

開頭或結尾的空白都應該移除:

(message "[WARNING]:  Disk almost full\r\n")
;;=> "Disk almost full"

2. 從日誌行取得日誌等級

實作log-level函式,回傳日誌行的日誌等級,並以小寫回傳:

(log-level "[ERROR]: Invalid operation")
;;=> "error"

3. 重新格式化日誌行

實作reformat函式,重新格式化日誌行,把訊息放在前面,日誌等級則放在後面並加上括號:

(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Clojure Exercism

準備好開始 日誌等級 了嗎?

註冊 Exercism,透過 12 個概念105 個練習 和真人引導來學習並精通 Clojure,全部免費。