capde06 Posté(e) le 18 mai 2009 Posté(e) le 18 mai 2009 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 !!!!
bonuscad Posté(e) le 18 mai 2009 Posté(e) le 18 mai 2009 Salut, La fonction d'égalité (=), ainsi que la fonction (eq) sont plus destiné à des atomsPour 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
(gile) Posté(e) le 18 mai 2009 Posté(e) le 18 mai 2009 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 nildonc (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 Tdonc (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
capde06 Posté(e) le 19 mai 2009 Auteur Posté(e) le 19 mai 2009 merci a vousen 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 !!!!
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant