我正在学习计划,我刚刚遇到了第一个问题:
(define x (cons (list 1 2) (list 3 4)))
(length x)
3
为什么输出是3而不是2?我已经显示了x
((1 2) 3 4)
为什么会这样,而不是((1 2) . (3 4))
?
感谢。
答案 0 :(得分:2)
也许这样看起来更容易。
你有:
(cons (list 1 2) (list 3 4))
如果你
(define one-two (list 1 2))
你有
(cons one-two (list 3 4))
相当于
(cons one-two (cons 3 (cons 4 '())))
或
(list one-two 3 4)
是
((1 2) 3 4)
答案 1 :(得分:0)
列表是方案的基本数据结构。 Cons用于制作一对物体。列表是利弊链。 例如。 list(1 2 3 4)与(cons 1(cons 2(cons 3(cons 4'()))))相同。 请参阅块指针表示以使其清除