0
我有一个函数delete_data,它给我一个错误“Unbound value delete_data”,它是 “tree_map delete_data l”。我的删除函数创建一个新的树,其中b在每个节点中排除。作为家庭作业规则,我们不允许改变录制功能。有什么问题?函数中绑定的值OCaml
type 'a tree = Empty | Node of 'a * 'a tree * 'a tree
let rec tree_map f t = match t with
| Empty -> Empty
| Node(n, l, r) -> Node(f n , (tree_map f l), (tree_map f r));;
let delete_data t = match t with
Empty -> Empty
| Node((a,b), l, r) -> Node(a, tree_map delete_data l, tree_map delete_data r);;
我忘了指定,作为一项家庭作业规则,我们不允许将函数改为rec。无论如何,我找到了解决办法:让delete_data t = tree_map(fun(y',d') - > y')t,这是创建一个函数作为参数。 – Brian 2014-10-02 05:05:51