有没有办法在F#中创建嵌套的联合类型?像这样的东西
type MainType =
| A of
| AA of int
| AB of float
| B of int
答案 0 :(得分:3)
不,我不这么认为。这似乎没有比创建两个单独的联合类型更有利,例如:
type NestedType =
| AA of int
| AB of float
type MainType =
| A of NestedType
| B of int
let mainValue = A (AA 1)
答案 1 :(得分:1)
不,你必须分开类型(如在kvb的帖子中)。 我听说过计划在F#中添加多态方差(如ocaml),这样你就可以做类似的事了。
在ocaml,
type mainType =
| A of [ `AA of int | `AB of float ]
| B of int