[英]Unbound value in function OCaml
我有一个函数delete_data,该错误为“ tree_map delete_data l”错误“ Unbound value delete_data”。 我的删除函数创建了一个新树,其中b在每个节点中都被排除在外。 作为一项家庭作业规则,我们不允许将功能更改为rec。 有什么问题?
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);;
如果要从自身内部引用函数,则需要将其声明为递归函数。 将let delete_data t =
更改为let rec delete_data t =
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.