シンプルなEnumの定義
CoddyのDartジャーニー「論理とフロー」セクションの一部 — レッスン 59/65。
列挙型(enum)が何であるかを理解したところで、Dartでそれらを作成する方法を学びましょう。構文は明快で、シンプルなパターンに従います。
enumを定義するには、enumキーワードを使用し、その後にenumの名前、そして波括弧の中に値のリストを記述します:
enum Weather {
sunny,
cloudy,
rainy
}enumの各値はカンマで区切られ、慣習として、enumの値は小文字で記述されます。Dartの命名規則に従い、enum名自体は大文字で始める必要があります。
enumを定義すると、プログラム全体で使用できるようになります。例えば、ユーザーの役割、ゲームの状態、または優先度レベルのenumを作成できます。
enum Priority {
low,
medium,
high
}enumの作成はそれほど簡単です!本質的には、固定された値のセットを持つ新しいデータ型を作成していることになり、これによりコードの信頼性が高まり、理解しやすくなります。
チャレンジ
簡単プログラミング言語のさまざまなタイプを定義するenum(列挙型)を作成し、その使用方法を示すプログラムを作成してください。タスクは以下の通りです:
ProgrammingLanguageという名前のenumを定義し、次の値を持たせます:dart、python、javascript、java、cppProgrammingLanguage型のcurrentLanguageという変数を作成し、ProgrammingLanguage.dartという値を代入しますProgrammingLanguage型のnextLanguageという別の変数を作成し、ProgrammingLanguage.pythonという値を代入します- 現在の言語を次の形式で出力します:
Currently learning: ProgrammingLanguage.dart - 次に学習する言語を次の形式で出力します:
Next to learn: ProgrammingLanguage.python currentLanguageをProgrammingLanguage.javascriptに変更します- 更新された現在の言語を次の形式で出力します:
Updated current language: ProgrammingLanguage.javascript
プログラムでは、enum キーワードを使用したenumの定義、enum型の変数の宣言、およびドット記法を使用したenum値へのアクセスのための適切な構文を示す必要があります。enum名はキャピタルケース(大文字で始まる)、enum値は小文字で記述するというDartの命名規則に従ってください。
チートシート
Dartで列挙型(enum)を定義するには、enumキーワードの後に列挙型名と波括弧で囲んだ値を記述します。
enum Weather {
sunny,
cloudy,
rainy
}列挙型の値はカンマで区切り、小文字で記述します。列挙型名は、Dartの命名規則に従い、大文字で始める必要があります。
列挙型の変数を作成し、ドット記法を使用して値にアクセスできます:
enum Priority {
low,
medium,
high
}
Priority taskPriority = Priority.high;自分で試してみよう
// TODO: ここでProgrammingLanguage列挙型を定義してください
void main() {
// TODO: ここにコードを書いてください
// 1. currentLanguage変数を作成し、ProgrammingLanguage.dartを代入します
// 2. nextLanguage変数を作成し、ProgrammingLanguage.pythonを代入します
// 3. 指定された形式で現在の言語(current language)をプリントします
// 4. 指定された形式で次の言語(next language)をプリントします
// 5. currentLanguageをProgrammingLanguage.javascriptに更新します
// 6. 更新された現在の言語を指定された形式でプリントします
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
論理とフローのすべてのレッスン
1リスト操作の応用
リストのプロパティ: first と lastリストの状態: isEmpty と isNotEmptyリストの反転リストへの追加: insertリストの削除: removeWhereリスト内の検索: indexOfリストのソートリストのシャッフルまとめ - リストオーガナイザー