Démêlez le vrai du faux avec les opérateurs logiques en AutoLISP

Bienvenue dans le tribunal d’AutoLISP ! :balance_scale:

Aujourd’hui, on va jouer aux juges. En programmation, on passe notre temps à vérifier si des choses sont VRAIES (T) ou FAUSSES (nil).

Pour prendre des décisions complexes, on a besoin de trois avocats très spéciaux : AND, OR et NOT.

Voici comment ils fonctionnent, sans jargon juridique.

1. La fonction AND (Le Garde du Corps Rigide :man_police_officer:)

Lui, il ne laisse rien passer. Il est ultra-strict.

Pour qu’il dise « OUI » (T), il faut que TOUTES les conditions soient remplies. Si une seule condition échoue, il ferme la porte (nil).

Imagine un mot de passe : il faut le bon login ET le bon code.

;; Est-ce que 2 égale 2 ET est-ce que 5 égale 5 ?
(and (= 2 2) (= 5 5))
;; Résultat : T (Tout est parfait, chef !)

;; Est-ce que 2 égale 2 ET est-ce que la Terre est plate ?
(and (= 2 2) (= 1 500))
;; Résultat : nil (Une erreur et c'est fini !)

2. La fonction OR (Le Pote Cool :smiling_face_with_sunglasses:)

Lui, il est beaucoup plus détendu. Il cherche juste une raison d’être heureux.

Pour qu’il dise « OUI » (T), il suffit qu’AU MOINS UNE condition soit vraie. Peu importe si les autres sont fausses.

Imagine le dessert : « Je veux du gâteau OU de la glace ». Si tu as l’un des deux (ou les deux), tu es content.

;; Est-ce que 1 égale 100 (Faux) OU est-ce que 2 égale 2 (Vrai) ?
(or (= 1 100) (= 2 2))
;; Résultat : T (C'est bon, y'en a un qui marche !)

;; Est-ce que 1=100 OU 2=200 ?
(or (= 1 100) (= 2 200))
;; Résultat : nil (Là, tu abuses, tout est faux.)

3. La fonction NOT (L’Esprit de Contradiction :face_with_raised_eyebrow:)

Lui, c’est l’ado rebelle. Quoi que tu lui dises, il dit l’inverse.

Il sert à inverser une vérité.

  • Si c’est Vrai, il dit Faux (nil).

  • Si c’est Faux (nil), il dit Vrai (T).

C’est très utile pour vérifier si quelque chose n’existe pas.

;; Est-ce que c'est Vrai ?
(not T)
;; Résultat : nil (Non !)

;; Est-ce que c'est vide (nil) ?
(not nil)
;; Résultat : T (Oui, c'est vide, donc c'est Vrai que c'est vide... tu me suis ?)

Exemple Concret : Le Cocktail :tropical_drink:

Imaginons que tu veux dessiner.

Condition : Il faut que le calque soit déverrouillé ET (que la couleur soit Rouge OU Bleue).

(and
   (calque_est_deverrouille)  ;; Doit être Vrai
   (or
      (couleur_est_rouge)     ;; L'un des deux
      (couleur_est_bleue)     ;; suffit
   )
)

C’est tout ! Tu sais maintenant poser des conditions logiques.

  • Utile
  • Peut mieux faire
  • Inutile
0 votant

:right_arrow: Tous les tutos AutoLISP