我仍然是F#的新手,并试图找出如何制作我自己的类型,可以容纳任何数量的"A"之前,如果最终应该如何一个值.
作为一个例子,它可能像:
A(A(A(A(A(0))))).
Run Code Online (Sandbox Code Playgroud)
如果我尝试制作这样的类型,我试着像这样声明:
type test =
| A of int
| A of test;;
Run Code Online (Sandbox Code Playgroud)
它告诉我,我不能声明两次相同的类型,因为我有重复.有没有办法解决这个问题,或者我真的需要让最后一个节点成为另一个名字:
type test =
| B of int
| A of test;;
Run Code Online (Sandbox Code Playgroud)
结果将是:
A(A(A(A(B(0)))))
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?