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