首页 理论教育AutoCAD2014中文版赋值函数教程

AutoCAD2014中文版赋值函数教程

【摘要】:本函数是AutoLISP中一个基本的赋值函数。将变量a的值设置为5.0,以后无论何时当对变量a进行求值时,它都会返回实型数5.0。全局变量可由任何函数访问和修改,或者在任一表达式中使用局部变量仅在定义它们的函数求值期间有意义。但当该函数退出时,全局变量恢复原值。quote函数最主要的特点就是不对表达式进行求值。为防止这种错误的产生,引用表就必须使用quote函数禁止对表求值。

1.SETQ函数。

将一个值赋给一个符号或将一个表达式赋给一个符号。本函数是AutoLISP中一个基本的赋值函数。setq函数也可以在一次调用中给多个变量赋值,但它仅返回最后那个表达式<expr>的值。将变量a的值设置为5.0,以后无论何时当对变量a进行求值时,它都会返回实型数5.0。

在AutoLISP程序中作为参数的任何符号都必须事先赋值。要查看符号原子的当前值,可在AutoCAD命令的提示符下,键入感叹号(!)后查看符号。

例如:

AutoLISP使用setq函数建立内存变量时,函数至少需要两个参数,第一个参数为内存变量名,第二个参数是内存变量将要限定的值。在编程过程中,如果变量的数据改变时,AutoLISP程序也要重新修改。

setq函数可以建立或修改全局变量,也可以在defun函数内给内部变量赋值。全局变量可由任何函数访问和修改,或者在任一表达式中使用局部变量仅在定义它们的函数求值期间(即函数调用期间)有意义。当全局变量作为局部变量使用时,定义它们的函数能改变它们的值。但当该函数退出时,全局变量恢复原值。

2.SET函数。(www.chuimin.cn)

set函数为一个被引起来的符号的值设置成一个表达式的值。set函数与setq函数同样作为赋值函数,不同的是:set函数只有两个参数,即<sym>和<expr>;set函数是将表达式(<expr>)的值赋给符号(<sym>)的值,而不是赋给符号本身。

例如:

3.QUOTE函数。

该函数返回一个表达式而不对求值。quote函数最主要的特点就是不对表达式进行求值。由于AutoLISP对表进行求值时,总是把表的第一个元素认做某一个函数来调用,但引用表的第一个元素既不是系统内部函数,也不是用户定义的函数,故运行时经常出错。为防止这种错误的产生,引用表就必须使用quote函数禁止对表求值。

例如: