1
我想有一对其第二元件可以是任一个符号或一个列表。例如,在我的上下文中,'(x . y)
和'(x . (a b c d))
都是有效的对。如果第二个元素只是一个符号,我可以用cons
得到这对,但如果它是一个列表呢?如何拥有一个第二个元素是一个列表的对?
我想有一对其第二元件可以是任一个符号或一个列表。例如,在我的上下文中,'(x . y)
和'(x . (a b c d))
都是有效的对。如果第二个元素只是一个符号,我可以用cons
得到这对,但如果它是一个列表呢?如何拥有一个第二个元素是一个列表的对?
那么你仍然使用cons
方案打印机只是在打印这些类型的对比其他的更好。这是他们看起来不同的唯一原因。
> (define x '(1 2 3))
> (car (cons 0 x))
0
> (cdr (cons 0 x))
(1 2 3)
计划名单实际上只是通过这个公式
'()
的列表。 (这真的是完全任意的,可以是任何东西,'()
仅仅是一个非常强大的传统),您仍然可以使用cons
做到这一点。
(cons 'x '(a b c d)) ; => (x a b c d)