Scheme 关于方案cons和dots表示法

Scheme 关于方案cons和dots表示法,scheme,cons,Scheme,Cons,给定 当我们尝试 #;> (cons (cons 1 2) 3) ((1 . 2) . 3) 在哪里使用?这些结构的内存表示形式是什么?方案实现通常以列表形式打印类似列表的内容: #;> (cons 3 (cons 1 2)) (3 1 . 2) 在您的示例中,(cons 3(cons 1 2))将是一个列表,如果它不是最后一个2。因此,您的实现尽最大努力将其打印为列表,直到2。另一个示例不包含任何看起来像列表的零件,因此它只是作为嵌套对打印 -> (cons 1 (con

给定

当我们尝试

#;> (cons (cons 1 2) 3)
((1 . 2) . 3)

在哪里使用
?这些结构的内存表示形式是什么?

方案实现通常以列表形式打印类似列表的内容:

#;> (cons 3 (cons 1 2))
(3 1 . 2)
在您的示例中,
(cons 3(cons 1 2))
将是一个列表,如果它不是最后一个
2
。因此,您的实现尽最大努力将其打印为列表,直到
2
。另一个示例不包含任何看起来像列表的零件,因此它只是作为嵌套对打印

-> (cons 1 (cons 2 '()))
'(1 2)