[英]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.