
いや~前回でswitch文マスターしちゃったな~困ったな~。



いやまだまだ!switch文と相性のいい列挙型、enumを次は覚えていこう!



えぬむ!



enumはイーナムとかイニュームとかって呼ぶよ。
enum、列挙型という名の通り選択肢を列挙してそこから値を選ぶことができます。列挙型を用いることでswiitch文はより一層輝きます!
前回のDart入門記事はこちら!


【Dart】enum(列挙型)とは



まずはこのswitch文を使ったコードを見てみよう!





このコードの結果はこう!





うに食べた~い!



しかしこのコードだと変数「osushi」に間違って1、2、3以外の数字が入ったらdefaultに飛んでしまうね。



なるほど…入れられる値が選択肢みたいだったらいいのにね!



そう!そこで列挙型の出番だ!
enum(列挙型)を用いると有限の選択肢を作ることができます!
まずは書き方から見ていきましょう。
【Dart】enum(列挙型)の書き方
enum(列挙型)の書き方(定義)はこのようにします。
enum 列挙型の名前{
選択肢1,
選択肢2,
選択肢3,
...
最後の選択肢
}
列挙型は関数(メソッド)の外に書きます。あくまで処理ではなく定義なので関数の中には書かないんですね。
先ほどのコードをenumを使って書き換えてみましょう!


「Neta」という名前の列挙型に3つの値を設定しています。



最初の1文がよくわからん…。
Neta osushi = Neta.uni;
ここではNetaという型の変数をまず定義しています。型の名前は列挙型の宣言のとき自分がつけた名前です。
この型を宣言することで、その列挙型の値が入りますよ、ということになります!
「列挙型の名前.値」とドットでつなげることでその列挙型の値を出してこれます。それをNeta型のosushi変数に入れてるんですね。



今までintとか、もともとあった型の名前で宣言してたから、自分で名付けた名前を型として宣言するのはなんか違和感あるな。



先の話になるけど、「クラス」というところまで学んでいくとそのあたりはだいぶ理解が進むかもしれないね。
結果は同じくこうなります。


列挙型で選択肢を作ろう!



なんか使いどころが難しそうだけどなんとなくわかった気がするよ!



そうだね、選択肢のある定数を使う、というイメージでもいいかもしれない。列挙型は他言語でも出てくるからしっかり理解しておくといいよ!



うにも食べたいけどマグロも食べたくなってきたな…。
■参考文献
コメント