Сравнение эквивалентности списка схем - PullRequest
13 голосов
/ 20 сентября 2009

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

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

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

Ответы [ 2 ]

16 голосов
/ 20 сентября 2009

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

10 голосов
/ 20 сентября 2009

кажется равным? и экв? Это отдельные процедуры, где равные проверки, как мне нужно:

> (equal? (list 1 2 3) (list 1 2 3))
#t
...