ÁTOMOS SIMBÓLICOS (S-ATOMS):
Un átomo simbólico es un átomo que representa algo má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 evaluarse devolverá una lista vacía. Las funciones como set, setq y defun permiten asignarle valores a los Átomos-S.Los nombres de símbolos no distinguen entre mayúsculas y minúsculas, y pueden ser cualquier secuencia de caracteres de notación y alfanuméricos a excepción de los siguientes: ( ) . ' " ; .
Un nombre de símbolo no puede estar compuesto sólo por caracteres numéricos ya que un número se representa a sí mismo y es por tanto una constante. Lo mismo sucede con los nombres entrecomillados.
-
VARIABLES:
Cuando un símbolo se utiliza para almacenar temporalmente datos necesarios 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ímbolos a 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 el valor deseado. En este sentido se dice que SETQ es una "Forma Especial". Una variable creada con SETQ es una variable global. Esto quiere decir que retiene su valor fuera del programa que la utiliza. Una variable de este tipo afectaría a cualquier otro programa que utilizara el mismo símbolo.
Las variables locales son aquellas que retienen su valor sólo mientras la función que las define está activa. Las variables locales se eliminan tan pronto termina la operación de la función donde se definieron, se desechan automáticamente y el sistema recupera el 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ás eficientes en el uso de la memoria. Visual LISP no tiene una función especial para la creación de variables locales. Las mismas deben declararse expresamente en la lista de parámetros de la función DEFUN.
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 no pueden representar otra cosa que el su propio valor, es decir que se representan a sí mismos. Entre los valores constantes tenemos los números y las cadenas.
NÚMEROS
Los valores numéricos que emplea Visual LISP pueden ser enteros 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 la cadena de caracteres en sí misma, sino que constituyen la manera de indicar al evaluador LISP que se trata de este tipo de dato. Si se quiere tener comillas dobles como parte de la cadena, deberá precederse el carácter comillas por una contrabarra:"Esto es una
\"Palabra\" entrecomillada"
. La contrabarra es un
carácter de control que permite incluir cambios de línea,
tabuladores, y otros caracteres especiales en una cadena. Para incluir una
contrabarra como parte de la cadena deben escribirse dos contrabarras, la
primera como carácter de control y la segunda para graficar la
contrabarra: "Cadena incluyendo \\"
. Las cadenas
individuales tienen una limitación de 132 caracteres. En versiones
anteriores de AutoCAD, los nombres de tablas de símbolos se
convertían automáticamente a mayúsculas. En AutoCAD 2000
se conserva el tipo de carácter utilizado, sean mayúsculas o
minúsculas. Al hacer comprobaciones de igualdad de cadenas puede ser
necesario por ello realizar conversiones a un mismo tipo de letra utilizando la
función STRCASE.