トラック
/
Clojure
Clojure
/
演習
/
ログレベル
ログレベル

ログレベル

学習演習

はじめに

ClojureにおけるstringはJavaの文字列です。Javaの文字列は、Unicode文字(英字、数字、句読点など)の並びとして不変のテキストを表すオブジェクトで、次のように定義します。

(def fruit "Apple")

clojure.stringライブラリには、文字列を操作・処理するための標準的な関数が数多く用意されています。さらに、文字列を扱うJavaの通常のメソッドも、相互運用を通じてすべて利用できます。

説明

この演習では、ログ行を処理します。

各ログ行は、"[<LEVEL>]: <MESSAGE>"という形式の文字列です。

ログレベルは次の3つです:

  • INFO
  • WARNING
  • ERROR

タスクは3つあり、それぞれがログ行を受け取って、それを使って何かをするように求めています。

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を学んでマスターできます。すべて無料です。