Aller au contenu

Messages recommandés

Posté(e)

Hello

j'ai écrit beaucoup de lisp sans jamais  mettre les variables globales  entre les guillements apres le defun

c'est grave docteur ???
les puristes de la prog me diront que "oui"

ces variables non effacées apres la fin du lisp doivent bien prendre un peu de place quelque part.

est ce que je peux remédier a ca facilement par du code,

avez vous programme qui réécrirait les variables globales a la bonne place en fin de ligne defun ??

j'utilise VISUAL LISP pour autocad

ou VISUAL STUDIO CODE fait il ca automatiquement ??

ou alors je dois le faire manuellement ? pour les lisp aillant bcp de variable

 

(defun c:toto_par_ci_par_la ( / variable_globale )

  )

merci

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Coucou,
Personnellement je déclare mes variables locales manuellement, car cela me force premièrement à relire entièrement le programme avant de le tester, et ensuite cela force également une certaine rigueur sur la déclaration des variables et la manière dont j'ai besoin d'elles.
Pour VS Code, je n'ai aucune idée de si cela est possible malheureusement. Pour l'IDE d'AutoCAD (commande VLIDE), il me semble qu'il y a moyen d'avoir la liste des variables qui ne sont pas déclarées localement dans un fichier via "Check Text in editor" (cf. >>ici<< en anglais, expliqué par LeeMac).

Bisous,
Luna

Posté(e)

hello Luna

merci

il y a 38 minutes, Luna a dit :

Pour l'IDE d'AutoCAD (commande VLIDE), il me semble qu'il y a moyen d'avoir la liste des variables qui ne sont pas déclarées localement dans un fichier via "Check Text in editor" (cf. >>ici<< en anglais, expliqué par LeeMac)

j'ai utilisé cette astuce, pour quelque lisp.

réponse : donc a la MANO

Phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

haha ^^
Comme je l'ai dit, je le fait personnellement dans tous les cas à la mano pour les raisons citées au-dessus (et aussi parce que je n'ai pas trouvé un moyen de le faire en auto). Mais vui en soit ce n'est pas un gros travail et à partir du moment que l'on sait qu'il faut déclarer ses variables localement, chat se fait plutôt facilement !
Tout dépend de la méthode de travail de chacun aussi, j'avoue que j'ai tendance à utiliser un minimum de variables lorsque je le peux donc c'est plus simple pour les déclarer. J'utilise également une dénomination commune pour mes variables entre tous mes programmes, comme chat j'ai juste une logique à appliquer lorsque je dois les déclarer (si je parcours un jeu de sélection, je sais d'avance que je doit déclarer jsel, i et name par exemple).

Et comme je l'ai dit, il est fortement conseillé de déclarer ses variables localement avant de tester un programme sur AutoCAD, cela évite de polluer le dessin avec des variables globales inutiles (sauf cas particuliers).
Mais vui, c'est important de déclarer ses variables localement ! Alors du coup je suis peut-être une puriste, mais au moins mes programmes fonctionnent parfaitement entre-eux 😜

Bisous,
Luna

Posté(e)

3800 lisp a reprendre   donc

mouai

ca va rester comme ca

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)
Citation

avez vous programme qui réécrirait les variables globales a la bonne place en fin de ligne defun ??

je suis pas expert lisp.

Mais si c'est juste ajouter des caractères sur des lignes ou il y a ecrit "

defun c:

" et que l'action a faire est entre tes 2 parentheses ( \  )

tu peux le faire sous n'importe quels languages 😉 tant que tu sais gérer des fichiers txt 😉

si tu as besoin d'aide...

Posté(e)

Bon c'est très vieux, mais ces deux discussions peuvent aider si on les maîtrise...

Je n'ai plus trop utilisé depuis, mais les retours sont imposant dans les versions récentes, depuis l'apparition du vl et vlax

https://cadxp.com/topic/7053-express-tools/#comment-34623

https://cadxp.com/topic/17262-liste-de-fonctions-dun-lisp/#comment-91086

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)
Le 23/12/2022 à 21:53, Curlygoth a dit :

Mais si c'est juste ajouter des caractères sur des lignes ou il y a ecrit "

defun c:

" et que l'action a faire est entre tes 2 parentheses ( \  )

On peut évidemment facilement lire un fichier LISP et chercher une logique pour récupérer la liste des variables, comme par exemple pour chaque ligne possédant un :

(setq 

tu récupères tous les caractères qui suivent jusqu'au caractère " " (espace). Ainsi tu peux déjà récupérer une partie des variables déclarées dans un programme. Cependant dans de nombreux cas, tu ne vas pas pouvoir récupérer toutes les variables déclarées, comme par exemple

(setq var1 ...
      var2 ...
)
(setq
  var1 ...
  var2 ...
)
(mapcar 'set (list 'var1 'var2))

bref, c'est faisable pour une partie, mais récupérer 100% des variables déclarées pour les ajouter à la liste des variables locales, cela reste difficile...et ce à cause de la façon dont est écrit le LISP.

Bisous,
Luna

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é