Visual LISP 第2章 数据类型、表达式和函数(2)变量

1.符号

  符号(SYMBOL)用来作为变量、函数的名字。命名规则:只要不含"("、")"、"•"、"‘"、"""、";",其他任何可打印的字符组成。符号的大小写等价,符号的长度没有限制,且所有的符号都是有意义的。如果符号的长度不超过6,就用节点本身来存储,否则,是在节点中存放一个指向实际存储符号名的指针,会占用空间减慢速度。符号长度最好不要超过6.

2.变量的数据类型

  AutoLISP无需对变量进行实现的类型说明,变量被赋予值的类型就是变量的类型。在程序运行过程中,同一变量在不同时刻可以被赋予不同类型的值。

3.为变量赋值

  setq函数,格式:(setq 变量1 值1[变量2 值2 ……])。在AutoCAD命令提示区为变量赋值,Command:(setq x 1.5 y 20 p "Center") 这个表达式等价于(setq x 1.5)(setq y 20)(setq p "Center"),除了为xyp赋值外,还会把最后一个表达式的结果Center返回。没有被赋值的变量属于无定义的变量。

4.预定义符号

  nil ,T, Pause, Pi是AutoLISP进行了预定义。

  nil与空和0不同,表示尚无定义。引用未被赋值的变量是错误的【error:bad argument type(坏的参数类型)】。将nil赋给某个有定义的变量,奇迹果实取消该变量的定义并释放其所占用的存储空间。nil作为逻辑参数值时相当于false。

  T相当于true

  Pause与command函数配合使用,用于暂停,等候用户的输入。

  Pi 常量∏

  每个变量都占用一些内存空间,为节省,可重复使用变量名,或者将不使用的变量名赋值为nil以便释放空间。AutoLISP允许将内部函数名或者流程控制的关键字作为变量名,因此,程序中定义的符号不要与系统定义的函数名和预定义的变量名相同

5.显示变量值

  需要在变量明前加一个感叹号"!",AutoCAD提示区会显示变量的值。

6.在交互方式下将变量的值传递给AutoCAD

  在变量前加一个感叹号"!",既可以将表达式的值传递个AutoCAD

原文地址:https://www.cnblogs.com/xueniwawa/p/3966107.html