3
3 가지 유형의 이진 트리의 노드 수를 계산하는 재귀 함수를 작성해야하며 다음 유형의 결과를 저장하려고합니다. int * int * int 내 추론은 옳다.OCaml 언 바운드 값
type dtree =
Decision of string * int * dtree * string * int * dtree
| Chance of string * int * dtree * string * int * dtree
| Outcome of int
;;
let rec count dt =
match dt with
Decision(choiceL, costL, l, choiceR, costR, r) -> (x+1,y,z) count l count r
| Chance(eventL, probL, l, eventR, probR, r) -> (x,y+1,z) count l count r
| Outcome value -> (x,y,z+1)
;;
어떻게 함수를 정의 할 수 있습니까? – MMrj
'let'을 사용하여 재귀 호출에 의해 반환 된 값에 이름을 지정하십시오. –