PHILPHIL Posté(e) le 17 juillet 2007 Posté(e) le 17 juillet 2007 bonjour grace a BRED je sais récuperer toutes les clées d'un objet et compter le nombre de clées similaires.... (setq ent1 (car (nentsel "\nSELECTIONNER L'OBJET DE BASE."))) (setq val2 (vl-remove-if '(lambda (x) (not(equal(car x) 1))) (entget ent1))) (setq val3 (vl-remove-if-not '(lambda (x) (equal(car x) 1)) (entget ent1))) ..... mais comment fait on pour réinjecter les clées modifieés dans l'objet exemple. j'ai une liste de 5 clées numero 1 et je modifie la 3 ieme clée numero 1 comment la réinjecte au bon endroit ??? quelle est la fonction ? VL.... VLAX.... VLR.... merciiiii phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
PHILPHIL Posté(e) le 17 juillet 2007 Auteur Posté(e) le 17 juillet 2007 j'ai tjrs pas piger a quoi servait la focntion "lamda" par contre elle sert a déclarer une inconnue ou des inconnues dans la fonction ???? phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 17 juillet 2007 Posté(e) le 17 juillet 2007 La fonction lambda permet de créer une fonction anonyme, donc d'éviter de faire un defun. Dans l'exemple que tu donnes on pourrait faire : (defun [b]une_fonction[/b] (x) (equal (car x) 1) ) (setq val3 (vl-remove-if-not '[b]une_fonction[/b] (entget ent1))) Utiliser des fonctions anonymes permet donc d'économiser de la mémoire, et rend le code plus compréhensible en plaçant la définition de la fonction à l'endroit même où elle est exécutée. 'ai une liste de 5 clées numero 1 et je modifie la 3 ieme clée numero 1 comment la réinjecte au bon endroit ??? Regarde les fonctions subst,cons et nth (subst (cons 1 nouvelle_valeur) (nth 2 ma_liste_de_clés_1) ma_liste_de_clés_1 ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 18 juillet 2007 Posté(e) le 18 juillet 2007 coucou au risque de passer pour le rabat-joie de service !!attention au vocabulaire !! c'est quoi, dans ton acception, une clé ? si j'ai bien compris, tu parles de listes. merci de tes explications. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Bred Posté(e) le 18 juillet 2007 Posté(e) le 18 juillet 2007 Salut didier,ce que l'on appelle "une clé" c'est le premier élément d'un liste(ex : (8 . "mon-calque"))Et donc, en cherchant cette valeur (clé), on récupère la valeur associée ("Mon-calque") Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
didier Posté(e) le 18 juillet 2007 Posté(e) le 18 juillet 2007 au temps pour moi !!! pour moi il s'agit de code de groupe,mais si on parle de clés, soit. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Bred Posté(e) le 18 juillet 2007 Posté(e) le 18 juillet 2007 Tu as raison.... et tords....en effet PHILPHIL parle de clé alors que cela devrait un "code de groupe".Mais dans une liste, la clé est bien l'élément permettant de retrouver la liste. (setq lst (list (list "vis22" '("50" "22" "cru")) (list "vis33" '("50" "33" "tol")) (list "vis11" '("38" "22" "ap")) )) (assoc "vis22" lst) et va voir dans l'aide l'explication de assoc : assoc Searches an association list for an element and returns that association list entry (assoc element alist)Arguments elementKey of an element in an association list. alistAn association list to be searched. Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
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