Aller au contenu

Definition de fonctions et localisation


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité