(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