2.1.1. Átomos



ÁTOMOS SIMBÓLICOS (S-ATOMS):

Un átomo simbólico es un átomo que representa algomás, como el nombre de una función o el valor de una variable. Unátomo simbólico si no tiene asignado un valor, al evaluarsedevolverá una lista vacía. Las funciones como set, setq y defunpermiten asignarle valores a los Átomos-S.
Los nombres de símbolos no distinguen entre mayúsculas yminúsculas, y pueden ser cualquier secuencia de caracteres denotación y alfanuméricos a excepción de los siguientes: () . ' " ; .
Un nombre de símbolo no puede estar compuesto sólo por caracteresnuméricos ya que un número se representa a sí mismo y espor tanto una constante. Lo mismo sucede con los nombresentrecomillados.

  • VARIABLES:

    Cuando un símbolo se utiliza para almacenar temporalmente datosnecesarios para la ejecución del programa suele identificarse como una‘variable’. La función (atoms-family 0) nos devuelve todos los átomos-S evaluados como no-nil en un momento determinado.
  • VARIABLES GLOBALES Y LOCALES:

    La función SETQ es el medio fundamental para asociar los símbolosa valores:
    (SETQ <símbolo> <valor>)
    Esto es equivalente a:
    (SET (QUOTE <símbolo>) <valor>)
    Es decir, que toma el nombre de símbolo sin evaluar, y le asigna elvalor deseado. En este sentido se dice que SETQ es una "FormaEspecial". Una variable creada con SETQ es una variable global. Estoquiere decir que retiene su valor fuera del programa que la utiliza. Unavariable de este tipo afectaría a cualquier otro programa que utilizarael mismo símbolo.
    Las variables locales son aquellas que retienen su valor sólomientras la función que las define está activa. Las variableslocales se eliminan tan pronto termina la operación de la funcióndonde se definieron, se desechan automáticamente y el sistema recuperael espacio de memoria que las variables ocupaban. Esto se conoce como"recolección de desechos" (garbage collection)automática. Las variables locales resultan por ello máseficientes en el uso de la memoria. Visual LISP no tiene una funciónespecial para la creación de variables locales. Las mismas debendeclararse expresamente en la lista de parámetros de la funciónDEFUN.
    Para más información consultar a R. Urban, Using Local Variables?

CONSTANTES:


Los números y las cadenas son formas auto-evaluativas.Estos datos se distinguen de los átomos simbólicos en que nopueden representar otra cosa que el su propio valor, es decir que serepresentan a sí mismos. Entre los valores constantes tenemos losnúmeros y las cadenas.
  • NÚMEROS

    Los valores numéricos que emplea Visual LISP pueden serenteros o reales.
  • CADENAS DE TEXTO

    Una cadena se representa mediante una sucesión de caracteres (letras,números y signos de puntuación) encerrados entre comillas dobles.Estas comillas dobles de apertura y cierre no forman parte de lacadena de caracteres en sí misma, sino que constituyen la manera deindicar al evaluador LISP que se trata de este tipo de dato. Si se quiere tenercomillas dobles como parte de la cadena, deberá precederse elcarácter comillas por una contrabarra: "Esto es una\"Palabra\" entrecomillada". La contrabarra es uncarácter de control que permite incluir cambios de línea,tabuladores, y otros caracteres especiales en una cadena. Para incluir unacontrabarra como parte de la cadena deben escribirse dos contrabarras, laprimera como carácter de control y la segunda para graficar lacontrabarra: "Cadena incluyendo \\". Las cadenasindividuales tienen una limitación de 132 caracteres. En versionesanteriores de AutoCAD, los nombres de tablas de símbolos seconvertían automáticamente a mayúsculas. En AutoCAD 2000se conserva el tipo de carácter utilizado, sean mayúsculas ominúsculas. Al hacer comprobaciones de igualdad de cadenas puede sernecesario por ello realizar conversiones a un mismo tipo de letra utilizando lafunción STRCASE.