LISP: operadores de comparación en caracteres y strings

El contenido de un campo se compara con el contenido de otro campo o una constante mediante operadores de comparación. En palabras simples, los operadores de comparación se utilizan para comparar si dos o más valores diferentes son iguales o no. 

Operadores de comparación en carácter:

Los caracteres no son compatibles con funciones de comparación numérica y operadores como < y >. Aparte de eso, se utilizan dos conjuntos de funciones en Common LISP. El primer conjunto distingue entre mayúsculas y minúsculas, mientras que el segundo no distingue entre mayúsculas y minúsculas o (insensible a mayúsculas y minúsculas). 

Las siguientes son algunas funciones de comparación que se pueden usar para ver si los dos caracteres son equivalentes o no.

Distingue mayúsculas y minúsculas Insensible a mayúsculas y minúsculas Explicación
CARACTER=  CAR-IGUAL Comprueba si los valores de los operandos son todos iguales; si lo son, la condición es verdadera.
CARÁCTER/= CHAR-NO-IGUAL Comprueba si los valores de los operandos son todos diferentes o no; si no lo son, la condición es verdadera.
CARÁCTER< CHAR-LESSP Si el carácter1 es más pequeño que el carácter2, la condición es verdadera; de lo contrario, la condición es falsa.
CARÁCTER<= CHAR-NO-MAYORP Si alguno de los valores del carácter de la izquierda es menor o igual que el valor del siguiente carácter de la derecha, la condición es verdadera.
CARÁCTER> CHAR-GREATERP Si character1 es mayor que character2, la condición es verdadera; de lo contrario, es falso.
CARÁCTER>=                      CHAR-NO-LESSP                                   Si el valor de cualquier carácter de la izquierda es mayor o igual que el valor del carácter de la derecha, la condición es verdadera.

Ejemplo 1: Comparación sensible a mayúsculas y minúsculas

Lisp

(write (CHAR= #\a #\A))
(terpri)
(write (CHAR> #\b #\a))
(terpri)
(write (CHAR< #\A #\a))

Salida: al ejecutar el código anterior, la salida es la siguiente.

NIL
T
T

Ejemplo 2: Comparación que no distingue entre mayúsculas y minúsculas

Lisp

(write (CHAR-EQUAL #\a #\A))
(terpri)
(write (CHAR-EQUAL #\a #\b))
(terpri)
(write (CHAR-LESSP #\a #\b #\c))
(terpri)
(write (CHAR-GREATERP #\a #\b #\c))

Salida: al ejecutar el código anterior, la salida es la siguiente.

T
NIL
T
NIL

Operadores de comparación en strings:

En Common Lisp, las strings son vectores, que son arrays unidimensionales de caracteres. Excepto el carácter de comillas dobles (“) y el carácter de escape (\), todos los caracteres compatibles con el juego de caracteres pueden estar entre comillas dobles para formar una string. Al igual que el carácter, la string también tiene dos conjuntos de operadores de comparación, uno distingue entre mayúsculas y minúsculas y el otro no distingue entre mayúsculas y minúsculas.

Entonces, para verificar si las dos strings son iguales o no, las siguientes son algunas funciones de comparación que se pueden usar.

Distingue mayúsculas y minúsculas no distingue entre mayúsculas y minúsculas Explicación
CADENA= CADENA IGUAL Comprueba si los valores de los operandos son todos iguales; si lo son, la condición es verdadera.
CADENA/= CADENA NO IGUAL Comprueba si los valores de los operandos son todos diferentes; si lo son, la condición es verdadera.
CADENA< SIN CUERDASP Si string1 es más pequeña que string2, la condición es verdadera; de lo contrario, la condición es falsa.
CADENA<=      CADENA NO MAYORP     Si alguno de los valores de los operandos de la izquierda es menor o igual que el valor del siguiente operando de la derecha, la condición es verdadera.
CADENA> CADENA-MAYORP Si string1 es mayor que string2, la condición es verdadera; de lo contrario, la condición es falsa.
CADENA>=                STRING-NO-LESSP                           Si el valor de cualquier operando de la izquierda es mayor o igual que el valor de su operando de la derecha, la condición es verdadera.  

Ejemplo 1: Comparación entre mayúsculas y minúsculas.

Lisp

(write (STRING= "gfg" "GFG"))
(terpri)
(write (STRING> "gfg" "GFG"))
(terpri)
(write (STRING< "gfg" "GFG"))

Salida: al ejecutar el código anterior, la salida es la siguiente.

NIL
0
NIL

Ejemplo 2: Comparación que no distingue entre mayúsculas y minúsculas.

Lisp

(write (STRING-EQUAL "gfg" "GFG"))
(terpri)
(write (STRING-GREATERP "gfg" "GFG"))
(terpri)
(write (STRING-LESSP "gfg" "GFG"))

Salida: Operadores de comparación Al ejecutar el código anterior, la salida es la siguiente.

T
NIL
NIL

Publicación traducida automáticamente

Artículo escrito por rkravisingh890 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *