关于变量的几个概念:
1.符号
符号(SYMBOL)可以理解为标识,用来作为变量、函数的名字。它的命名规则是不能只含数字,可以由下列字符以外的任何可打印的字符所组成:
“(”、“)”、“·”、“'”、“"”、“;”
在AutoLISP中,符号的大小写等价,符号的长度没有限制,且所有的字符都是有意义的。
如果一个符号的长度不超过6,就用节点本身来存储;如果符号的长度超过6,这样的符号就不能用节点来存储,而是在节点中存放一个指向实际存储符号名的指针。这将会多占用存储空间,且减慢了执行速度。因此,符号的长度最好不要超过6。
2.变量的数据类型
AutoLISP变量属于符号,是指存储静态数据的符号。
数据类型是变量的重要的特征,因为它关系到存放变量值的存储空间的大小。多数的计算机语言都在为变量赋值前对变量做显式或隐式的说明。AutoLISP无须对变量做事先的类型说明,变量被赋予值的类型即为变量的类型。
在程序运行过程中,同一变量在不同的时刻可以被赋予不同类型的值,因此在程序运行过程中,变量的数据类型是可以被改变的。可以使用type函数了解变量的类型。
3.为变量赋值
用setq函数为变量赋值,其格式如下:
(setq 变量1 值1[变量2 值2 . . .])
4.预定义的符号
(1) nil
如果变量没有被赋值,它的值为nil。引用未被赋值的变量是错误的。例如,变量x尚未被赋值,(+ 1 x)就会出现error: bad argument type(坏的参数类型错)。</