(define mystery2
(lambda (L)
(if (null? L)
L
(begin
(displayln L)
(append (mystery2 (cdr L))
(list (car L)))))))
,我通过(mystery2 '((1 2) (3 4) 5 6))
球拍开始形式
运行它在这里,我不知道什么是“开始”功能一样。
此外,当我写“displayln L”它只给我们((1 2) (3 4) 5 6))
。 它不应该打印出递减值,因为它是递归?
请帮助我理解为什么在这里使用“开始”,而displayln是这样工作的。
代码本身没有问题。
注意它叫“神秘”而不是它本身,所以我们不能说它是递归的。它可能是相互递归的,但“神秘”需要调用“mystery2”。 – Sylwester 2015-04-01 06:35:36