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