构建复合类型(Building Compound Types)

2020-06-21  本文已影响0人  christ_yang

构建符合类型的方式

基础类型: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
上一篇下一篇

猜你喜欢

热点阅读