ユーザ用ツール

サイト用ツール


kotlin:enumとsealed

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
kotlin:enumとsealed [2019/12/10 08:08]
ips
kotlin:enumとsealed [2019/12/10 08:18] (現在)
ips [enumのは代数的データ型(ADT)]
ライン 58: ライン 58:
 代数的データ型(Algebraic data type)とは、その型に割当可能なサブタイプの閉集合を表現できる複合型。 代数的データ型(Algebraic data type)とは、その型に割当可能なサブタイプの閉集合を表現できる複合型。
 GEARはLOW,​MIDDLE,​HIという閉集合を表現している。 GEARはLOW,​MIDDLE,​HIという閉集合を表現している。
-つまりGEARは3つの値しかない。(3つある) +つまりGEARは3つの値しかない。 
-そのため下記のような場合はELSEがなければコンパイラーがラーをだしてくれる。+ 
 +<wrap hi>​通常下記のような場合はELSEがなければコンパイルエラーとなる、 
 +ELSEがなくても3つの条件をつければコンパイルが通る。 
 +(コンパイラーは3つか条件がないことをわ分かっる。=閉集合)</​wrap>​ 
 + 
  
 <​code>​ <​code>​
ライン 75: ライン 80:
     // LOW,​MIDDLE,​HI全てを条件にするかELSEがなければエラーになる。     // LOW,​MIDDLE,​HI全てを条件にするかELSEがなければエラーになる。
     val message ​ = when (civic.gear){      val message ​ = when (civic.gear){ 
-        GEAR.LOW -> println("too slow") +        GEAR.LOW -> "too slow"​ 
-//        GEAR.MIDDLE -> println("just right") +//        GEAR.MIDDLE -> "just right"​ // コメントをはずせばELSE不要 
-//        GEAR.HI -> println("too fast")+//        GEAR.HI -> "too fast"​ // コメントをはずせばELSE不要
     }     }
     println(message)     println(message)
kotlin/enumとsealed.1575932902.txt.gz · 最終更新: 2019/12/10 08:08 by ips