在 SICP 练习 2.26 中,给出了此方案代码:
(define x (list 1 2 3))
(define y (list 4 5 6))
然后给出这个 cons 调用:
(cons x y)
我预计会产生一对列表,((1 2 3) (4 5 6))
但解释器给出了
((1 2 3) 4 5 6)
……一个包含 4 个元素的列表,第一个是一个列表。为什么 y 被区别对待?我尝试查找其他 SICP 答案以获得解释,但找不到令人满意的答案。那么任何Scheme / Lisp专家能否对这方面的缺点有所了解?提前感谢您的任何见解。