2009-09-20 2 views
9

Здравствуйте, мне нужно проверить, имеют ли два списка одинаковые элементы в одном порядке, но я не смог достигнуть, поскольку это похоже на схему eq? и eqv? проверяет по ссылке, поэтому давая ложные:Схема сравнения эквивалентности

> (eq? (list 1 2 3) (list 1 2 3)) 
#f 
> (eqv? (list 1 2 3) (list 1 2 3)) 
#f 

Как достичь этого?

ответ

13

Это site объясняет разницу между этими операторами. Но по существу, вы хотите использовать equal?, если хотите сравнить содержимое двух объектов.

+0

спасибо за ссылку JG – Hellnar

7

похоже одинаковый? и eq? являются отдельными процедурами, где одинаковые чеки, как мне нужно было:

> (equal? (list 1 2 3) (list 1 2 3)) 
#t 
Смежные вопросы