我正在学习Scheme语言(我自己)。最近我遇到了这个问题:有两个函数计算相同的值(组合函数 f - n 次)。
(define (repeated f n)
(lambda (x)
(if (= n 1)
(f x)
(f ((repeated f (- n 1)) x)))))
(define (repeated f n)
(if (= n 1)
f
(lambda (x)
(f ((repeated f (- n 1)) x)))))
据我了解,这两个不是递归过程,但它们返回递归过程(大声笑)。那么这两者有什么区别呢?是否有可能在我给 X 赋值之前第一个返回已经计算过的过程?我很困惑......请帮忙。