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

ログレベル

学習演習

はじめに

文字列

C#のstringは、不変のテキストをUnicode文字の並び(文字、数字、句読点など)として表すオブジェクトです。stringインスタンスを定義するには、二重引用符を使います。

string fruit = "Apple";

メソッド

文字列を操作するには、文字列の組み込みメソッドを呼び出します。たとえば、文字列から空白を削除するには、Trimメソッドを次のように使います。

string name = " Jane "
name.Trim()
// => "Jane"

一度文字列を作成すると、その値を変更することはできません。文字列を変更しているように見えるメソッドも、実際には新しい文字列を返します。

連結

複数の文字列は連結(加算)できます。最も簡単な方法は、+演算子を使うことです。

string name = "Jane";
"Hello " + name + "!";
// => "Hello Jane!"

書式設定

単純な連結よりも複雑な文字列の書式設定には、文字列補間を使うのがおすすめです。文字列で補間を使うには、先頭にドル記号($)を付けます。次に、波括弧({})を使って、文字列内の変数にアクセスできます。

string name = "Jane";
$"Hello {name}!";
// => "Hello Jane!"

説明

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

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

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

  • INFO
  • WARNING
  • ERROR

タスクは3つあります。それぞれのタスクでは、ログ行を1つ受け取り、それに対して何らかの処理を行います。

1. ログ行からメッセージを取得する

ログ行のメッセージを返す(static)LogLine.Message()メソッドを実装しましょう。

LogLine.Message("[ERROR]: Invalid operation")
// => "Invalid operation"

先頭と末尾の空白は取り除きます。

LogLine.Message("[WARNING]:  Disk almost full\r\n")
// => "Disk almost full"

2. ログ行からログレベルを取得する

ログ行のログレベルを小文字で返す(static)LogLine.LogLevel()メソッドを実装しましょう。

LogLine.LogLevel("[ERROR]: Invalid operation")
// => "error"

3. ログ行を整形する

ログ行を整形する(static)LogLine.Reformat()メソッドを実装しましょう。メッセージを先に、ログレベルをその後ろに括弧(())で囲んで置きます。

LogLine.Reformat("[INFO]: Operation completed")
// => "Operation completed (info)"
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
C# Exercism

ログレベルを始める準備はできましたか?

Exercismに登録すれば、62個のコンセプト178個の演習、そして本物の人間によるメンタリングとともに、C#を学んでマスターできます。すべて無料です。