Part20: 列挙クラス

ことり「今回は列挙クラスのお話しです」
凛「列挙・・・EnumってElixirで見たにゃ」
ことり「うん、あれとはまた少し違うかな」


ことり「列挙クラスは、Enum定数って呼ばれる定数をひとまとめにしたクラスです」
凛「定数をカテゴリ分けする感じ?」
ことり「うん、そんな感じ。意味のあるまとまりというか、採りうる選択肢というか、そういうのを列挙クラスで扱うことが多いです」

ことり「たとえばこんな使い方。enumってキーワードをつけて宣言したクラスは列挙クラスになって、そこに書いた値しか持てなくなるの」
凛「CENTERLEFTRIGHTの3択になるんだね」
ことり「whenとかで分岐に使うときもelseを気にする必要がなくなるよ」

ことり「Enum定数には明示的に値を持たせることができます」

凛「まーたにこちゃんからクレーム来るにゃ」
ことり「真実を述べるのはエンジニアの矜持だよ」


ことり「Enum定数は内部の無名クラスとして、関数を定義したりできるの」

凛「BiBiクラスに抽象メソッドを用意して、それを無名クラスでオーバーライドしてるんだね」
ことり「凛ちゃんもだいぶ慣れてきたね♪」
凛「えへへ」


ことり「あとは、こんなふうに」

ことり「名前を指定してEnum定数を取得したり、列挙クラスの全ての定数を取得したりもできます」


ことり「次回はオブジェクトについて。クラスのインスタンスの話じゃなくて、オブジェクト宣言とかオブジェクト式とか、そういう話だよ」
凛「なんか大変そう・・・そろそろ疲れてきたにゃ~」
ことり「そう思ってね、差し入れのカップラーメンがあるんだ」
凛「わぁいラーメン、凛ラーメン大好き・・・って、この凛ちゃんラーメンはもう在庫処分で食べ飽きたにゃ!」
ことり「店によっては、まだ在庫抱えてるみたいだから・・・」
凛「凛知ってるよ。それは不良在庫っていうにゃ」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です