1
比较列表我不知道为什么下面的代码段给出了#F输出:在方案
=> (define a (cons 3 '()))
=> (define a (cons 3 '()))
=> (eq? a b)
;Value: #f
当比较均衡的名单?我们看一下,是否所有的值和它们的顺序是一样的,或者我们看看两个列表是否是相同的列表?有人可以解释吗?
感谢
比较列表我不知道为什么下面的代码段给出了#F输出:在方案
=> (define a (cons 3 '()))
=> (define a (cons 3 '()))
=> (eq? a b)
;Value: #f
当比较均衡的名单?我们看一下,是否所有的值和它们的顺序是一样的,或者我们看看两个列表是否是相同的列表?有人可以解释吗?
感谢
功能eq?
着眼于是否“两个列表是相同的名单”;而equal?
着眼于'所有的价值和他们的顺序是否相同'。在C
中,认为eq?
是==
,但equal?
是while (l1 && l2 && equal (l1.item, l2.item) ...
谢谢,我现在明白了 – yrazlik 2013-04-28 16:45:56
使用'equal?'过程。 – leppie 2013-04-28 16:34:22