이의 말을하자 빈 나무와 N-ary_tree 일치 I는 n 차 트리 형OCaml의 -
type tree = Node of (char*tree) list ref;;
와 내가 쓰기 위해 노력하고있어
let empty_tree()= Node(ref[]);;
빈 트리이 대응을 내 나무가 비어 있거나없는 경우에만 보이는 기능과 같은
let checkIsEmpty t = match t with empty_tree-> print_string "tree is empty";;
하지만 그것은 단지 단위를 반환 checkIsEmpty empty_tree;;
을 쓸 때, 그것은하지 않습니다 인쇄 나는 또한
let checkisEmpty t = match t with z when z = empty_tree-> print_string "tree is empty";;
는 슬프게도 여전히 실패 그 방법을 시도
"나무는 비어 있습니다."
트리가 비어있는 경우 어떻게 볼 수 있습니까? 가능한 경우 일치를 유지하고 트리가 선언되는 방식 (빈은 유형의 일부가 아닙니다 ..)을 유지하려고합니다.
감사합니다.
감사 답변을, 그래 나는 내가 어떻게해야 알고 대/소문자가 비어 있지 않은 경우를위한 경우지만 지금은 트리가 내 함수에 전달 된 트리가 empty_tree와 같으면 내 트리를 일치 시키려고합니다. 플러시 표준 출력을 시도했지만 그 중 하나는 작동하지 않습니다. with "when"keyword) – anthomaxcool
나는 문자 그대로 checkisEmpty empty_tree를 수행하고 있으며, t (이 경우에는 empty_tree)가 empty_tree와 같고 "tree is empty"를 쓰지 않을 것입니다. 내가 '_ _ -> print_string'이 아닌 경우를 추가하면, 플러시 stdout' 인쇄되지 않습니다 – anthomaxcool
('empty_t ree'는 나무가 아닌 함수입니다.) 어쩌면 출력을 전혀 얻지 못할 수도 있습니다. 만약 당신이 이것을 실행하면 : print_string "testing 1 2 3 \ n"; 플러시 표준 출력'? 다른 쪽 코멘트로''\ n "'으로 끝내면 출력물을보기가 더 쉽습니다. 그렇지 않으면 잃어 버릴 수 있습니다. –