在 Clojure 中,string是 Java 字串,它是一個物件,將不可變的文字表示為 Unicode 字元(字母、數字、標點符號等)的序列,定義如下:
(def fruit "Apple")
clojure.string程式庫提供了許多標準的字串操作和處理函式。此外,所有常用的 Java 字串操作方法都可以透過 interop 使用。
在這個練習中,你會處理日誌行。
每一行日誌都是格式如下的字串:"[<LEVEL>]: <MESSAGE>"。
日誌等級共有三種:
INFOWARNINGERROR你有三個任務,每個任務都會拿到一行日誌,請你對它做些處理。
實作message函式,回傳日誌行的訊息:
(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"
開頭或結尾的空白都應該移除:
(message "[WARNING]: Disk almost full\r\n")
;;=> "Disk almost full"
實作log-level函式,回傳日誌行的日誌等級,並以小寫回傳:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
實作reformat函式,重新格式化日誌行,把訊息放在前面,日誌等級則放在後面並加上括號:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"