teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答の追記

2020/07/07 22:45

投稿

Kapustin
Kapustin

スコア1188

answer CHANGED
@@ -7,4 +7,27 @@
7
7
  },
8
8
  ```
9
9
  例えば、男性というボタンが選択された瞬間に「男性(gender.male)という結果」が`_gender`変数(用意した変数)に代入されます。
10
- 質問の意図はまた別でしょうか。。?
10
+ 質問の意図はまた別でしょうか。。?
11
+
12
+ #### 追記
13
+ _genderは gender型の定数値です。
14
+ enumはDartに限った機能ではなく、一般的にコードの見通しをよくしたり、バグやタイプミスを減らすメリット等があります。
15
+ [Dart列挙型](https://dart.dev/guides/language/language-tour#enumerated-types)
16
+ [Enumの特徴や使い方や文字列に変換する方法についてまとめてみた](https://qiita.com/arthur_foreign/items/b40820c5f3a0f06ffe08)
17
+
18
+ 男の方が選択されていたら、この人は男です。女の方が選択されていたら、この人は女です。と画面に表示する
19
+ やり方はいろいろ考えられますので、一例を下記に記載します。
20
+ ```
21
+ Text((() {
22
+ switch (_gender) {
23
+ case gender.male:
24
+ return 'この人は男です。';
25
+ case gender.female:
26
+ return 'この人は女です。';
27
+ }
28
+ }()))
29
+ ```
30
+ 三項演算子バージョン(このような書き方が嫌いな人もいるのでチームで開発するときは要注意)
31
+ ```
32
+ Text(_gender == gender.male ? 'この人は男です。' : 'この人は女です。')
33
+ ```