加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 总和类型的标准名称,如3个案例?

发布时间:2020-12-16 08:52:51 所属栏目:安全 来源:网络整理
导读:有没有像Either这样的标准和类型,但有3种情况? Haskell有这些,但它不是那么的. 解决方法 我认为严重依赖这样的类型是一种反模式. 使用代数数据类型得到的最好的一点是结果类型会告诉您有关您正在使用的域的信息.对于像Choice T1,T2,T3这样的通用类型,您实际
有没有像Either这样的标准和类型,但有3种情况? Haskell有这些,但它不是那么的.

解决方法

我认为严重依赖这样的类型是一种反模式.

使用代数数据类型得到的最好的一点是结果类型会告诉您有关您正在使用的域的信息.对于像Choice< T1,T2,T3>这样的通用类型,您实际上并没有对域进行任何说明.

我认为选项< T> (aka Maybe)非常清楚,因为它表示类型T的值要么存在,要么由于某种原因而丢失.我认为要么<'T,exn>仍然很清楚,它说你得到一个值或一个例外.但是,当您遇到两个以上的案例时,很难理解案例的含义,因此明确定义名称与域匹配的类型可能是个好主意.

(偶尔会在F#中使用Choice< T1,T3>但用法通常仅限于小范围 – 少于50行代码 – 这样我就可以轻松找到代码周围的含义消耗它.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读