0
나는 "unbound value delete_data"라는 오류를주는 delete_data 함수를 가지고 있는데,이 값은 "tree_map delete_data l"입니다. 내 삭제 기능은 각 노드에서 b가 제외 된 새 트리를 만듭니다. 숙제 규칙으로, 우리는 rec로 기능을 변경할 수 없습니다. 뭐가 문제 야?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