这是一个初学者问题,因为我仍在弄清楚 F# 编译器错误的含义以及如何修复它们。
我有以下 F# 代码 - 不明白为什么它不起作用。它基于此处找到的解决方案:F#: Recursive collect and filter over N-ary Tree
module TreeProblem_Solution1 =
type TreeNode =
| N of int * TreeNode list
let rec filterTree (t : TreeNode) (predicate : int -> bool) =
()
let test =
TreeNode(1,[TreeNode(2,[])])
我得到的错误在TreeNode (1,[TreeNode(2,[])]) 下。我不明白为什么这会导致问题,当嵌套的 TreeNode 使用正确显示类型并且没有任何构造函数问题时,我也可以将此类型用作方法参数。
希望有人可以对此有所了解,因为我缺少一些重要的见解。