Kev*_*ith 5 scala algebraic-data-types
给定以下代数数据类型:
scala> sealed trait Person
defined trait Person
scala> case class Boy(name: String, age: Int, x: String) extends Person
defined class Boy
scala> case class Girl(name: String, age: Int, y: Boolean) extends Person
defined class Girl
Run Code Online (Sandbox Code Playgroud)
注意 - 我知道它不是递归类型 - 不涉及递归。
那么,这是 aSum还是Product Type?为什么?
在这种情况下,Person可以将其视为 sum 类型,因为它的实例是Boyor Girl。
Boy(或Girl) 是产品类型,因为 的实例是类型、和Boy的组合。StringIntString
这是一篇关于Scala 中的“混合”案例代数数据类型的非常好的文章
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |