L'arithmétique en AutoLISP

Prêt pour un peu de gymnastique mentale ? :brain:

Si tu as appris les maths à l’école (ce que j’espère !), oublie tout. Enfin, pas le résultat, mais la méthode. Tu sais combien font un plus un, je n’en doute pas :grinning_face_with_smiling_eyes:. Mais sais tu l’écrire en AutoLISP :wink:.

AutoLISP parle le « Yoda ». Le verbe (l’action) vient toujours avant le reste.

Au lieu de dire « 2 plus 2 », AutoLISP dit : « Additionne 2 et 2 ».

C’est ce qu’on appelle la notation préfixée. C’est déroutant 5 minutes, et après on adore (ou on s’y habitue).

Voici comment transformer ta calculatrice en parenthèses.

1. L’Addition + (Le plus facile)

On met le signe + au début, puis tous les nombres qu’on veut additionner.

(+ 10 5)
;; Résultat : 15

Le truc cool ? Tu peux en mettre plein d’un coup !

(+ 10 10 5 2)
;; Résultat : 27 (AutoCAD fait la somme de tout le monde)

2. La Soustraction - (Le régime)

Même principe. On enlève le deuxième nombre au premier.

(- 50 10)
;; Résultat : 40

3. La Multiplication * (La reproduction)

L’étoile * sert à multiplier.

(* 5 4)
;; Résultat : 20

4. La Division / (:warning: ATTENTION PIÈGE !)

C’est là que 90% des débutants s’arrachent les cheveux. Regarde bien.

Si tu divises des nombres ronds (entiers), AutoCAD® te répondra par un nombre rond (il coupe ce qui dépasse sans pitié).

(/ 10 2)
;; Résultat : 5 (Logique)

(/ 5 2)
;; Résultat : 2 (QUOI ?! Mais ça fait 2.5 !)

Pourquoi ? Parce que tu lui as donné deux entiers, il te rend un entier. Il a jeté le « .5 » à la poubelle.

La solution : Il faut mettre une virgule (enfin, un point, c’est de l’anglais) à au moins un des nombres pour dire « Je veux de la précision ! ».

(/ 5.0 2)
;; Résultat : 2.5 (Ouf, sauvé !)

Le Boss Final : Les calculs imbriqués :exploding_head:

Comment faire (2 + 3) * 4 ?

En Lisp, on travaille de l’intérieur vers l’extérieur.

  1. D’abord on additionne 2 et 3.

  2. Ensuite on multiplie le résultat par 4.

(* (+ 2 3) 4)
;; Résultat : 20

Traduction : « Multiplie par 4 le résultat de l’addition de 2 et 3 ».

C’est tout ! Tu sais maintenant compter en AutoLISP.

  • Utile
  • Peut mieux faire
  • Inutile
0 votant

:right_arrow: Tous les tutos AutoLISP

En programmation, on passe notre temps à compter : « Page 1, Page 2, Page 3… » ou à faire des comptes à rebours.

Au lieu d’écrire la phrase complète, AutoLISP nous offre un raccourci clavier ultra-rapide.

1. La fonction 1+ (L’ascenseur vers le haut) :up_arrow:

C’est exactement la même chose que de faire (+ x 1), mais en plus court.

Elle prend un nombre et lui ajoute 1, tout simplement.

  • La méthode longue (fatigante) :
(setq compteur 10)
    (+ compteur 1)  ;; Résultat : 11
  • La méthode 1+ (c’est la classe :grinning_face_with_smiling_eyes:) :
(setq compteur 10)
    (1+ compteur)   ;; Résultat : 11

2. La fonction 1- (L’ascenseur vers le bas) :down_arrow:

Tu as deviné, c’est l’inverse. Elle enlève 1 à ton nombre. Idéal pour les comptes à rebours avant le décollage de la fusée.

(setq etages 5)
(1- etages)     ;; Résultat : 4

:light_bulb: Pourquoi les utiliser ?

  1. C’est plus lisible : Quand on lit du code, on comprend tout de suite « Ah, il passe au suivant » ou « il revient au précédent ».

  2. C’est (historiquement) plus rapide : Pour l’ordinateur, c’est une opération plus simple que de faire une « vraie » addition. Sur les PC modernes, la différence est invisible, mais c’est une bonne habitude à prendre.

:no_entry: Le piège à ne pas tenter

Ne t’emballe pas ! Ces fonctions sont exclusives au chiffre 1.

Si tu essaies d’inventer (2+) ou (10-), AutoCAD® va te regarder avec incompréhension et te lancer une erreur. Pour ajouter 2, il faut revenir aux classiques : (+ x 2).