构建复合类型(Building Compound Types)

构建符合类型的方式

基础类型:int bool unit char
复合类型:tuple list option

要创建复合类型,实际上只有三种必不可少的组成部分;任何正式的语言都以某种方式提供了这些部分。下面的术语名称可能不是准确的,但不妨碍它是思考此概念的好方式。

三种基本组成部分

  1. Each oft值包含t1 t2 t3 ... tn中每一个值
    该类型对大多数人来说是比较熟悉的,Tuple就是一个例子:int * bool描述了包含一个int和一个bool的值。
    有字段的java类也是一个Each of类型。

  2. One oft值包含的是t1 t2 t3 ... tn其中一个值
    该类型也很常见,不幸的是许多入门编程课程都没有强调此类型。int option是一个简单的示例:此类型包含一个int值或者不包含int值。在ML若需要intbool的类型,我们需要使用datatype绑定;在面向对象的语言中,如在java中,One of类型是通过子类来实现的。

  3. Self referencet值可以引用另一个t
    该类型允许描述递归数据结构。在与上面两种类型结合使用时,通常非常有用。例如,int list描述了不包含任何值或包含

嵌套使用

 (int * bool) list list * (int option) list * bool
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容