Caracteres en LISP

En Lisp, los objetos de datos de tipo ‘carácter’ se denominan caracteres. Para fines de representación, generalmente denotamos objetos de caracteres precediendo un símbolo #\ antes del carácter. Cualquier carácter se puede representar usando el símbolo #\ antes del nombre del carácter. Por ejemplo, #\a representa un carácter ‘a’.

Ejemplo 1:

Lisp

; Lisp Code to print characters  
  
(write #\a)
(terpri)
(write-char #\a)
(terpri)
(write-char #\b)

Producción:

 

Nota: «terpri» es un comando en Lisp que significa «terminar la impresión», ya que se usa para terminar una línea de salida sin la cual la salida se imprimiría en una línea.

Caracteres especiales en Lisp:

Hay algunos caracteres especiales predefinidos en Lisp que son:

  1. #\Retroceso
  2. #\Pestaña
  3. #\Página
  4. #\Linea de alimentación
  5. #\Devolver
  6. #\Borrar

Funciones de comparación de caracteres:

En la programación de Lisp no usamos funciones de comparación numérica sino que hacemos uso de funciones de comparación de caracteres. 

Hay dos conjuntos de funciones de comparación de caracteres:

  • Funciones que distinguen entre mayúsculas y minúsculas: se utilizan cuando los caracteres tienen el mismo caso (inferior o superior).
  • Funciones que no distinguen entre mayúsculas y minúsculas: se utilizan cuando los caracteres pueden tener diferentes mayúsculas y minúsculas (superior o inferior).
S. No. Funciones sensibles a mayúsculas y minúsculas Funciones que no distinguen entre mayúsculas y minúsculas Descripción
1 char= char-igual Comprueba si los operandos son iguales o no
2 carácter/= char-no-igual Comprueba si los operandos son diferentes o no
3 char<= char-not-greatrp Comprueba si el valor del operando izquierdo es mayor o igual que el valor del siguiente operando derecho
4 carácter>= char-not-lessp Comprueba si el valor del operando izquierdo es menor o igual que el valor del siguiente operando derecho
5 char< char-lessp Comprueba si los valores de los operandos son monótonamente decrecientes o no
6 carcter> char-greatrp Comprueba si los valores de los operandos aumentan monótonamente o no

Nota: Si en cualquiera de los casos mencionados anteriormente se cumple la condición en la descripción, entonces devuelve ‘T’; de lo contrario, devuelve ‘NIL’.

Ejemplo 2: 

Lisp

;Lisp Case-Sensitive Comparison
(write (char= #\b #\b))
(terpri)
(write (char= #\a #\b))
(terpri)
(write (char= #\A #\c))
(terpri)
(write (char-lessp #\x #\y #\z))
(terpri)
(write (char-greaterp #\a #\b #\c))
(terpri)
     
;Case-Insensitive Comparision
(write (char-equal #\a #\A))
(terpri)
(write (char-equal #\a #\b))
(terpri)
(write (char-lessp #\x #\y #\z))
(terpri)
(write (char-greaterp #\a #\b #\c))

Producción:

 

Publicación traducida automáticamente

Artículo escrito por kishanpandeyrkt 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 *