LISP - Operatori di confronto

La tabella seguente mostra tutti gli operatori relazionali supportati da LISP che confronta i numeri. Tuttavia, a differenza degli operatori relazionali in altre lingue, gli operatori di confronto LISP possono richiedere più di due operandi e funzionano solo sui numeri.

Assumi variabile A detiene 10 e variabile B detiene 20, quindi -

Operatore Descrizione Esempio
= Controlla se i valori degli operandi sono tutti uguali o meno, in caso affermativo la condizione diventa vera. (= AB) non è vero.
/ = Controlla se i valori degli operandi sono tutti diversi o meno, se i valori non sono uguali la condizione diventa vera. (/ = AB) è vero.
> Controlla se i valori degli operandi stanno diminuendo in modo monotono. (> AB) non è vero.
< Controlla se i valori degli operandi aumentano in modo monotono. (<AB) è vero.
> = Controlla se il valore di un qualsiasi operando sinistro è maggiore o uguale al valore dell'operando destro successivo, in caso affermativo la condizione diventa vera. (> = AB) non è vero.
<= Controlla se il valore di un qualsiasi operando sinistro è minore o uguale al valore del suo operando destro, in caso affermativo la condizione diventa vera. (<= AB) è vero.
max Confronta due o più argomenti e restituisce il valore massimo. (max AB) restituisce 20
min Confronta due o più argomenti e restituisce il valore minimo. (min AB) restituisce 10

Esempio

Crea un nuovo file di codice sorgente denominato main.lisp e digita il codice seguente.

(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))

Quando fai clic sul pulsante Esegui o digiti Ctrl + E, LISP lo esegue immediatamente e il risultato restituito è -

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