我希望有一对第二个元素可以是符号或列表。例如,'(x . y)
和'(x . (a b c d))
在我的上下文中都是有效对。如果第二个元素只是一个符号,我可以使用cons
获得该对,但是如果它是一个列表呢?
答案 0 :(得分:1)
然后你仍然使用cons
计划打印机在打印那些对和其他对时更好。这是他们看起来不同的唯一原因。
> (define x '(1 2 3))
> (car (cons 0 x))
0
> (cdr (cons 0 x))
(1 2 3)
方案列表实际上只是由此公式递归定义
'()
是一个列表。 (真的,这完全是武断的,可能是任何东西,'()
只是一个非常强大的传统)
答案 1 :(得分:0)
您仍然可以使用cons
来执行此操作。
(cons 'x '(a b c d)) ; => (x a b c d)