在变量绑定中使用Discriminated Union类型

时间:2013-10-25 03:58:27

标签: types f# discriminated-union

我已经创建了一个自定义类型,并希望创建2个变量来证明我的类型按预期工作。

type number = A of int | B of float;;

let a = 0;;
let b = 0.0;; 

如何更改变量声明以强制它们键入number?目前a为int,b为float。

2 个答案:

答案 0 :(得分:5)

要强制它们为number类型,您需要做的就是将它们分配给number类型的值。你给出的例子:

let a = 0
let b = 0.0

分别将它们分配给intfloat类型的值。要获取类型number的值,请从这些值构造number个对象,如下所示:

let a = A(0)
let b = B(0.0)

答案 1 :(得分:3)

你走了:

let a = A(0)
let b = B(0.0)