【发布时间】:2014-02-08 15:32:55
【问题描述】:
这是一个初学者问题,因为我仍在弄清楚 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 使用正确显示类型并且没有任何构造函数问题时,我也可以将此类型用作方法参数。
希望有人可以对此有所了解,因为我缺少一些重要的见解。
【问题讨论】:
标签: f# compiler-errors tree discriminated-union