【发布时间】:2014-11-12 21:55:08
【问题描述】:
我有两个定义,一个是家谱,一个是人。
; a family-tree is:
; (make-person list-of-family-tree symbol number symbol)
; a person is:
; (define-struct person [children name date eyes])
我需要创建一个“相互递归”的函数来计算树中后代的数量(包括人)。但是如果满足条件,我不知道如何让 cond 做不止一件事。
即:
(define (count-descendants person1)
(cond [(empty? (person-children person1)) +0]
[else (count-descendants (first (person-children person1)))/*also +1 here*/
(count-descendants (rest (person-children person1)))/*also +1 here*/]))
知道如何递归调用列表其他部分的函数并添加一个吗?
【问题讨论】:
标签: recursion scheme conditional racket mutual-recursion