请问F#递归模块中`type Orientation = Up | Down`这类定义的名称是什么?
F#中这类类型定义的名称
你提到的type Orientation = Up | Down和type PeelState = Peeled | Unpeeled这类定义,在F#里叫做可区分联合(Discriminated Unions),也常简称为联合类型(Union Types)。
这类类型属于代数数据类型的一种,允许你定义一个类型,该类型的取值只能是预先定义的若干个互斥选项中的某一个。在你的示例里:
Orientation类型的取值只能是Up或Down二者之一PeelState类型的取值只能是Peeled或Unpeeled二者之一
这种定义方式非常适合表示一组互斥的状态或选项,是F#函数式编程中常用的类型定义手段。
内容的提问来源于stack exchange,提问作者user17682078
相关产品推荐
相关产品推荐

