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)