【发布时间】:2012-09-30 11:09:03
【问题描述】:
我正在尝试编写两个单独的尾递归函数来计算列表的长度,但我遇到了以下限制:
编写一个版本,
lengtht,它是尾递归并根据需要使用外部(非嵌套)辅助函数编写第二个版本,
lengtht2,它不使用额外的顶级函数。该函数应该仍然是尾递归的,并且可以使用您想要的任何本地绑定
我是球拍新手,这就是我所理解的尾递归的一般形式:
(define (func x)
(cond (end-test-1 end-value-1)
(end-test-2 end-value-2)
(else (func reduced-x))))
我只是对如何做到这一点有点困惑
【问题讨论】: