DenisHen Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 Bonjour à tous. J'ai trouvé sur le net une suite de lisp qui dessine un carroyage (DTGrid). Je trouve ces lisp très très intéressants. Mais je suis tombé sur une drole de commande : ;;; Retourne la valeur k (defun UtReturn (k) (setq k k)) Je me pose une question, à quoi peut bien servir cette commande ? Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Fraid Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 Bonjour, Il me semble que c'est équivalant à (EVAL k) non? https://github.com/Fraiddd
DenisHen Posté(e) le 12 avril 2018 Auteur Posté(e) le 12 avril 2018 Salut Fraid, et merci pour cette réponse. Je te répondrais, "J'en n'ai aucune idée"... :mellow: Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 Salut, As-tu cherché où et comment cette fonction est utilisée dans le code ?J'ai vraiment l'impression que c'est du verbiage tout à fait superfétatoire.J'ai vu des codes où, pour spécifier la valeur de retour d'une routine on utilisait l'expression :(setq retval retVal) à la fin du code plutôt que tout simplement retVal.Cette fonction permettrait donc d'écrire :(UtReturn retVal) à la fin du code plutôt que tout simplement retVal... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 C'est exactement ça. ;; Extraction nom du fichier d'un chemin complet (defun UtFname (FileName /) (while (wcmatch FileName "*/*,*\\*") (setq FileName (substr FileName 2)) ) (UtReturn FileName) ) On pourrait remplacer (UtReturn FileName) par FileName, ou même par rien du tout dans ce cas là puisque une fonction LISP retourne toujours le résultat de l'évaluation de la dernière expression, donc ici :(setq FileName (substr FileName 2)) En bref, ce bout de code est équivalent à :;; Extraction nom du fichier d'un chemin complet (defun UtFname (FileName /) (while (wcmatch FileName "*/*,*\\*") (setq FileName (substr FileName 2)) ) (setq FileName FileName) )et pourrait être simplement écrit :;; Extraction nom du fichier d'un chemin complet (defun UtFname (FileName /) (while (wcmatch FileName "*/*,*\\*") (setq FileName (substr FileName 2)) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 12 avril 2018 Auteur Posté(e) le 12 avril 2018 Salut (gile), et merci pour cette réponse. Je comprend mieux, mais ça complique vachement le code... Pour rien, si j'ai tout compris... ;) Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Patrick_35 Posté(e) le 12 avril 2018 Posté(e) le 12 avril 2018 Salut Salut (gile), et merci pour cette réponse. Je comprend mieux, mais ça complique vachement le code... Pour rien, si j'ai tout compris... ;)Oui, ou une évolution du code (voir de maitrise du lisp) qui fait que certaines fonctions deviennent superflues. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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