Déterminer si deux expressions sont identiques
Identiques pas forcément égales, voir en fin de page la nuance.
Syntaxe : ( eq expr1 expr2 )
Arguments : expr1 expr2 les deux expressions à comparer.
Valeur renvoyée : T si les deux expressions sont identiques, nil dans le cas contraire.
Exemples :
( setq expression1 '( 10 20 30 )
expression2 '( 20 30 40 )
expression3 expression2 )
( eq expression1 expression2 ) renvoie nil
( eq expression2 expression3 ) renvoie T
Autre exemple :
( eq "A" "A" ) renvoie T
( eq "a" "A" ) renvoie nil
Attention
Pour AutoLISP, "identique" signifie : "se réfère à la même adresse en mémoire".
Exemples avec des listes:
(setq a ' ( 1 2 3) b a c '( 1 2 3))
(eq a B) (eq a b)
Renvoient T
(eq a c)
Renvoie nil bien que le contenu soit ( 1 2 3) pour les deux variables, elles sont égales mais pas identiques
(eq b c)
Renvoie nil
5 juin 2017, mise à jour le 15 décembre 2017