Datatype绑定(Datatype Bingdings)

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

创建

通过下面简单的例子来学习datatype绑定:

datatype mytype = TwoInts of int * int
                | Str of string
                | Pizza

简而言之:

构造器:

  1. 一个可以创建新类型值的函数(函数:TwoInt : int * int -> mytype;函数:Str : string -> mytype
  2. 一个新类型的值(值:Pizza

使用

获取mytype的值:

  1. 它是哪一个变体(即哪个构造器创建了该值)
  2. 解析值(如果它有任何值)

其他“one-of”类型:
list、option是使用函数来解析其含有的值

所以我们可以做同样的事,例如:

但是ML并没有采取这种实现方式,它使用了更好的解决办法:Case表达式

上一篇下一篇

猜你喜欢

热点阅读