ScalaのSealed
以下、5分ぐらいで調べただけの適当なメモmrsekut.icon
Kotlinにもある
列挙型を定義する時に使う
code:scala
sealed trait Cards
case object Heart extends Cards
case object Diamond extends Cards
case object Club extends Cards
case object Spade extends Cards
これらのextedsした定義は同一ファイルに書く必要がある
code:scala
val message = s match {
case Heart => "..."
case Diamond => "..."
case Club => "..."
case Spade => "..."
}
上記のコードは以下のようにsealedを付けなくても定義できる
code:scala
trait Cards
...
あんまり関係ないけど、Scalaって代数的データ型ないのかmrsekut.icon