2013-04-28 55 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