方案列表等价比较

Hel*_*nar 13 lisp comparison scheme list

您好我需要检查两个列表是否具有相同顺序的相同元素但我无法实现,因为它看起来像方案eq?和eqv?通过引用检查,因此给予错误:

> (eq? (list 1 2 3) (list 1 2 3))
#f
> (eqv? (list 1 2 3) (list 1 2 3))
#f
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

Joã*_*lva 16

网站解释了这些运营商之间的差异.但实质上,您希望equal?在想要比较两个对象的内容时使用.


Hel*_*nar 10

好像相等?和eq?是我需要的同等检查的单独程序:

> (equal? (list 1 2 3) (list 1 2 3))
#t
Run Code Online (Sandbox Code Playgroud)