【发布时间】:2009-10-21 00:25:15
【问题描述】:
我正在尝试在方案中编写一个函数,该函数接受一个列表并将列表中的每个项目平方,然后以(list x y z) 的形式返回列表。但是,我不确定如何编写可以做到这一点的代码。到目前为止,我有
(define (square=list list)
(cond
[(empty? list) false]
[else (list (sqr (first a-list))(square-list (rest a-list)))]))
但它以表单形式返回列表
(cons x (cons y (cons z empty)))
我该怎么做才能让它以(list x y z) 的形式返回列表?谢谢!
【问题讨论】:
-
(cons x (cons y (cons z empty)))是你想要的。你所拥有的是(list x (list y (list z))),它与(cons x (cons (cons y (cons z empty) empty) empty)相同——cons和list不要做同样的事情。 -
哎呀,上面有一个我没看到的错误...你实际上拥有的是 (list x (list y (list z))) 这是与 (cons x (cons y (cons z empty) empty) empty) 相同。