LISP - Opérateurs de comparaison

Le tableau suivant montre tous les opérateurs relationnels pris en charge par LISP qui compare les nombres. Cependant, contrairement aux opérateurs relationnels dans d'autres langues, les opérateurs de comparaison LISP peuvent prendre plus de deux opérandes et ils ne fonctionnent que sur des nombres.

Supposons une variable A détient 10 et variable B détient 20, alors -

Opérateur La description Exemple
= Vérifie si les valeurs des opérandes sont toutes égales ou non, si oui, la condition devient vraie. (= AB) n'est pas vrai.
/ = Vérifie si les valeurs des opérandes sont toutes différentes ou non, si les valeurs ne sont pas égales, la condition devient vraie. (/ = AB) est vrai.
> Vérifie si les valeurs des opérandes décroissent de manière monotone. (> AB) n'est pas vrai.
< Vérifie si les valeurs des opérandes augmentent de manière monotone. (<AB) est vrai.
> = Vérifie si la valeur d'un opérande gauche est supérieure ou égale à la valeur de l'opérande droit suivant, si oui, la condition devient vraie. (> = AB) n'est pas vrai.
<= Vérifie si la valeur d'un opérande gauche est inférieure ou égale à la valeur de son opérande droit, si oui, la condition devient vraie. (<= AB) est vrai.
max Il compare deux ou plusieurs arguments et renvoie la valeur maximale. (max AB) renvoie 20
min Il compare deux ou plusieurs arguments et renvoie la valeur minimale. (min AB) renvoie 10

Exemple

Créez un nouveau fichier de code source nommé main.lisp et tapez le code suivant dedans.

(setq a 10)
(setq b 20)
(format t "~% A = B is ~a" (= a b))
(format t "~% A /= B is ~a" (/= a b))
(format t "~% A > B is ~a" (> a b))
(format t "~% A < B is ~a" (< a b))
(format t "~% A >= B is ~a" (>= a b))
(format t "~% A <= B is ~a" (<= a b))
(format t "~% Max of A and B is ~d" (max a b))
(format t "~% Min of A and B is ~d" (min a b))

Lorsque vous cliquez sur le bouton Exécuter ou tapez Ctrl + E, LISP l'exécute immédiatement et le résultat renvoyé est -

A = B is NIL
A /= B is T
A > B is NIL
A < B is T
A >= B is NIL
A <= B is T
Max of A and B is 20
Min of A and B is 10