PHILPHIL Posté(e) le 24 mai 2008 Posté(e) le 24 mai 2008 hello j'ai besoin d'aide sur ces deux fonctions comment fonctionnent elles au final je voudrait verifier si un "point1" fait partie d'une "liste" pour l'inclure dans la "liste" ou pas est ce les bonnes fonctions ?? merci phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 24 mai 2008 Posté(e) le 24 mai 2008 Salut, Pour savoir si un point fait partie d'une liste la fonction member devrait suffire.Cette fonction cherche dans la liste une expression et retourne le reste de la liste à partir de la première occurrence de cette expression. Exemple : (setq lst '((0 0 0) (1 2 0) (-3 5 0) (4 -2 0) (5 9 1))) (member '(1 2 0) lst) retourne ((1 2 0) (-3 5 0) (4 -2 0) (5 9 0))(member '(2 1 0) lst) retourne nil vl-member-if et vl-member-if-not fonctionnent de la même façon à ceci près qu'au lieu de chercher dans la liste une expression équivalente à l'argument, elles cherchent la première expression qui vérifie (ou ne vérifie pas) la fonction passée comme argument.On appelle le type de fonction requise comme argument pour ces fonctions un prédicat, c'est à dire une fonction qui retourne T ou nil (comme listp, numberp, minusp...) Exemple : (vl-member-if 'listp '( "a" (1 2 0) 18)) cherche dans la liste la première expression qui retourne T à la fonction listp et retourne donc : ((1 2 0) 18) On utilise souvent une fonction lambda comme prédicat. Exemple (avec la liste de points lst) : (vl-member-if-not '(lambda (x) (= 0 (caddr x))) lst) retourne ((5 9 1)) soit le premier point dont la coordonnée z n'est pas 0. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
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