2013-01-12 43 views
2

鑑於在方案利弊和點符號

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

當我們試圖

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

使用.哪裏是什麼支配?這些結構的內存表示是什麼?

回答

3

方案的實現通常打印的東西,看起來像列表以列表的形式:

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

在你的榜樣,(cons 3 (cons 1 2))將是一個清單,如果不是最後2。因此,您的實施盡最大努力將其打印爲列表,直到2。另一個例子不包含看起來像列表的任何部分,所以它只是以嵌套對的形式打印。