我正在做SICP的ex2.22,练习给出了一个程序,它打算对一个列表进行平方但是输出反转了列表。但是当我在DrRacket中键入它时,输出是意外的。 代码:
(define (square-list items)
(define (iter things answer)
(if (null? things)
answer
(iter (cdr things)
(cons (square (car things))
answer))))
(iter items null))
(square-list (list 1 2 3))
预期输出为(9 4 1)但实际上是'(#<procedure> #<procedure> #<procedure>)
。我只是不知道为什么。