miércoles, 18 de febrero de 2015

¿Cómo se asigna valor a un símbolo en AutoLISP?

En algunos lenguajes de programación la variable es un recipiente que solo admite un tipo de contenido, y con frecuencia, tenemos que declarar el tipo de variable: entero, real, cadena… antes de proceder a la asignación de valor. En AutoLISP, por el contrario, no es necesario declarar el tipo de variable. Un símbolo aceptará cualquier tipo de valor que se le asigne, y posteriormente, incluso, podremos cambiar ese valor por otro, mediante una simple reasignación. Es decir, el tipo de dato es una propiedad del dato y no del símbolo. Esto, naturalmente, confiere flexibilidad a la hora de escribir el código; sin embargo, en contrapartida, obliga a ser más cuidadoso a la hora de seguir el rastro de las variables para evitar pasar a una función un dato de tipo erróneo.

En AutoLISP, para asignar valor a un símbolo se usa la función “setq”. Así, por ejemplo, podemos asociar a la variable “galicia” el contenido de la lista (A-Coruña Lugo Ourense Pontevedra) si escribimos en la ventana de comandos de AutoCAD:

Comando: (setq galicia ‘(A-Coruña Lugo Ourense Pontevedra)) 
(A-CORUÑA LUGO OURENSE PONTEVEDRA)


Acuérdate de escribir un apóstrofe (signo de no evaluación) antes de la lista. En caso contrario AutoLISP interpretaría la lista como una función y devolvería error.