famaice Posté(e) le 30 octobre 2015 Posté(e) le 30 octobre 2015 Bonjour à tous, Lorsqu'on développe une routine en LISP, quelles sont les bonnes pratiques en matière de localisation des fonctions vs la fonction principale (la (defun c:...)) ? :blink: Dans quels cas faut-il la localiser à l'intérieur de la fonction principale ?Quelle incidence si une sous-fonction est localiser en dehors de la fonction principale ? J'ai quelques conflits qui apparaissent entre certains des LISP que j'utilise régulièrement et je soupçonne que cela vient d'un problème "d'architecture" de certaines de ces routines. Merci d'avance pour les conseils avisés, :) Cdt, ""Nous avons un avenir et il sera fait de nos rêves si nous avons le courage de bousculer les idées reçues" - S. HONDA
Patrick_35 Posté(e) le 30 octobre 2015 Posté(e) le 30 octobre 2015 Salut La bonne pratique est d'être le plus propre possible dans ses déclarations de variables ou de fonctions.Un sujet récurent qui est bien expliqué par (gile) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
famaice Posté(e) le 30 octobre 2015 Auteur Posté(e) le 30 octobre 2015 Bonjour Patrick, Merci pour la réactivité. ;) Je me suis peut-être mal exprimé en relisant le lien que tu as mis vers le sujet récurrent. Ce dernier parle bien de la localisation des variables et arguments et de l'incidence au niveau d'une fonction. Ma question est plutôt de comprendre quelle est l'incidence de localiser une sous-fonction (SF) entre les parenthèses d'un fonction principale par rapport à une sous-fonction définie en dehors des parenthèses de la fonction principale (FP). Pour illustrer : 1er cas - FP contient la définition de SF_1(Defun C:FP ()) (Defun SF_1 ()) ; Définition de la sous-fonction 1 (SF_1) ; Appelle la sous-fonction 1 (princ)) 2eme cas - FP appelle SF_1 qui est définie en dehors de FP(Defun C:FP ()) (SF_1) ; Appelle la sous-fonction 1 (princ))(Defun SF_1 ()) ; Définition de la sous-fonction 1 Si j'ai (vaguement) compris, dans le cas 2, une fois FP chargé dans AutoCAD, la sous-fonction SF_1 devient également disponible pour toute routine autre que FP - ce qui n'est pas le cas dans mon 1er cas (SF_1 est alors exclusivement rattaché et utilisable dans FP).(Je suis pas sur d'être clair dans mon propos... ou alors j'ai raté un truc en relisant le précédent post) ""Nous avons un avenir et il sera fait de nos rêves si nous avons le courage de bousculer les idées reçues" - S. HONDA
Patrick_35 Posté(e) le 30 octobre 2015 Posté(e) le 30 octobre 2015 Ma réponse va être courte. La même chose que pour les variables.Une fois que tu as compris le fonctionnement des variables entre local/global , les fonctions font de même. @+ 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