LISP - Operadores de comparación

La siguiente tabla muestra todos los operadores relacionales compatibles con LISP que compara entre números. Sin embargo, a diferencia de los operadores relacionales en otros lenguajes, los operadores de comparación LISP pueden tomar más de dos operandos y solo funcionan con números.

Asumir variable A tiene 10 y variable B tiene 20, entonces -

Operador Descripción Ejemplo
= Comprueba si los valores de los operandos son todos iguales o no, si es así, la condición se convierte en verdadera. (= AB) no es cierto.
/ = Comprueba si los valores de los operandos son todos diferentes o no, si los valores no son iguales, la condición se convierte en verdadera. (/ = AB) es cierto.
> Comprueba si los valores de los operandos disminuyen monótonamente. (> AB) no es cierto.
< Comprueba si los valores de los operandos aumentan monótonamente. (<AB) es cierto.
> = Comprueba si el valor de cualquier operando izquierdo es mayor o igual que el valor del siguiente operando derecho; si es así, la condición se convierte en verdadera. (> = AB) no es cierto.
<= Comprueba si el valor de cualquier operando de la izquierda es menor o igual que el valor de su operando de la derecha, si es así, la condición se convierte en verdadera. (<= AB) es cierto.
max Compara dos o más argumentos y devuelve el valor máximo. (max AB) devuelve 20
min Compara dos o más argumentos y devuelve el valor mínimo. (min AB) devuelve 10

Ejemplo

Cree un nuevo archivo de código fuente llamado main.lisp y escriba el siguiente código en él.

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

Cuando hace clic en el botón Ejecutar, o escribe Ctrl + E, LISP lo ejecuta inmediatamente y el resultado devuelto es:

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