gpt4 book ai didi

scala - 总和或产品类型?

转载 作者:行者123 更新时间:2023-12-03 17:06:42 25 4
gpt4 key购买 nike

鉴于以下 Algebraic Data Type :

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

注意 - 我知道它不是递归类型 - 不涉及递归。

那么,这是一个 SumProduct Type ?为什么?

最佳答案

在这种情况下,Person可以被视为和类型,因为它的一个实例是 BoyGirl .
Boy (或 Girl )是一种产品类型,因为是 Boy 的实例是 String 类型的组合, Int , 和 String .

这是一篇关于这个“混合”案例的非常好的文章Algebraic Data Types in Scala

关于scala - 总和或产品类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30761457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com