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