Aller au contenu

Messages recommandés

Posté(e)

je ne comprend pas pourquoi cette egalité ne marche pas

 

 

(if (= (getvar "INSBASE") (list 0.0 0.0 0.0))

(princ "BASE CORRECTE" )

(princ "BASE INCORRECTE" )

)

 

merci

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Posté(e)

Salut,

 

La fonction d'égalité (=), ainsi que la fonction (eq) sont plus destiné à des atoms

Pour des listes, il vaut mieux utiliser la fonction (equal), éventuellement avec un fuzz (tolérance)

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Salut,

 

Petite précision si je peux me permettre,

- la fonction = ne fonctionne qu'avec des arguments chaîne ou nombre (types STR INT REAL)

 

- la fonction eq fonctionne avec tout type d'expression LISP comparable, mais ne retourne T que si les deux expressions sont affectées au même objet :

(setq lst1 '(0.0 0.0 0.0) lst2 lst1)

(eq lst1 lst2) retourne T

(eq lst1 '(0.0 0.0 0.0)) retourne nil

donc (eq (getvar "INSBASE") (list 0.0 0.0 0.0)) retournera toujours nil

 

- la fonction equal compare le résultat de l'évaluation de tout type d'expression LISP

(equal lst1 lst2) retourne T

(equal lst1 '(0.0 0.0 0.0)) retourne T

donc (eq (getvar "INSBASE") (list 0.0 0.0 0.0)) retournera T si INSBASE est bien (0.0 0.0 0.0)

De plus la fonction equal accepte un argument "tolérance" qui peut être utile quand on compare des nombres et surtout des points.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

merci a vous

en plus je le savais, mais en ce moment j'ai un manque d'entrainement.

 

bon, je vais réviser

 

encore merci

 

 

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité