2013-04-28 50 views
1

比較列表我不知道爲什麼下面的代碼段給出了#F輸出:在方案

=> (define a (cons 3 '())) 
=> (define a (cons 3 '())) 
=> (eq? a b) 
;Value: #f 

當比較均衡的名單?我們看一下,是否所有的值和它們的順序是一樣的,或者我們看看兩個列表是否是相同的列表?有人可以解釋嗎?

感謝

+0

使用'equal?'過程。 – leppie 2013-04-28 16:34:22

回答

2

功能eq?着眼於是否「兩個列表是相同的名單」;而equal?着眼於'所有的價值和他們的順序是否相同'。在C中,認爲eq?==,但equal?while (l1 && l2 && equal (l1.item, l2.item) ...

+0

謝謝,我現在明白了 – yrazlik 2013-04-28 16:45:56