4 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
8 mai 2013 à 14:42
8 mai 2013 à 14:42
Je ne pense pas que tu puisse utiliser equal? sur une liste.
Tu devrais tester : (equal? (1 1) (1 1)) mais je pense que ça te renverra faux, ce qui expliquerait pourquoi il ne supprime pas les doublons vu qu'il ne sait pas que ça en est...
Tu devrais tester : (equal? (1 1) (1 1)) mais je pense que ça te renverra faux, ce qui expliquerait pourquoi il ne supprime pas les doublons vu qu'il ne sait pas que ça en est...
Merci de ta réponse rapide KX,
equal? est valable pour les listes et je l'avais testé (equal? '(1 1) '(1 1)) renvoie true
equal? est valable pour les listes et je l'avais testé (equal? '(1 1) '(1 1)) renvoie true
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
8 mai 2013 à 15:12
8 mai 2013 à 15:12
Ok, je n'ai pas Scheme sous la main, je testes donc avec du Common Lisp, c'est pour ça il peut y a voir des différences. Cependant, si tu testes avec ton apostrophe ça biaise les résultats, il faudrait tester sans les apostrophes comme je l'ai mis ou directement comme tu le fais dans ton code :
(equal? (1 1) (1 1))
ou
(define test l (equal? (car l) (cadr l)))
(test '((1 1) (1 1)))
(equal? (1 1) (1 1))
ou
(define test l (equal? (car l) (cadr l)))
(test '((1 1) (1 1)))