F# 中的选择类型实现
Choice type implementation in F#
我是 F# 的新手,在选择类型实现方面遇到了一些问题。
我有三种。
type A = p of string
type B = {q:string;r:int}
type C = s of string
那我有这样的选择类型
type D = A | B | C
现在我在创建 D 类型的变量时遇到了问题。我正在尝试做这样的事情,
let v = {q="abc";r=12}
let vofD = D.B v
但它给出了这个错误,
This value is not a function and cannot be applied
我已经尝试搜索有关这件事的文档,但似乎找不到任何好的文档或解决方案。任何帮助将不胜感激。
问题是 F# 编译器不理解 D.B
指的是类型 B
。如果您这样定义受歧视的联合:
type D =
| FromA of A
| FromB of B
| FromC of C
那你可以写let vofD = D.FromB v
.
我是 F# 的新手,在选择类型实现方面遇到了一些问题。 我有三种。
type A = p of string
type B = {q:string;r:int}
type C = s of string
那我有这样的选择类型
type D = A | B | C
现在我在创建 D 类型的变量时遇到了问题。我正在尝试做这样的事情,
let v = {q="abc";r=12}
let vofD = D.B v
但它给出了这个错误,
This value is not a function and cannot be applied
我已经尝试搜索有关这件事的文档,但似乎找不到任何好的文档或解决方案。任何帮助将不胜感激。
问题是 F# 编译器不理解 D.B
指的是类型 B
。如果您这样定义受歧视的联合:
type D =
| FromA of A
| FromB of B
| FromC of C
那你可以写let vofD = D.FromB v
.