首页 理论教育AutoCAD2014中文版:表构造函数快速入门

AutoCAD2014中文版:表构造函数快速入门

【摘要】:如果表中没有变量或没有未确定的项,可以用单引号括起一个表,能达到list函数同样的效果。本函数的相关函数是quota。cons是AutoLISP的基本表构造函数。在这种情况下,cons函数通常用于构造称为点对的结构。点对是一种特属类型的表,处理普通表的某些函数通常不能接受点对作为变元。append、cons和list是AutoLISP的三个基本的表构造函数。而list函数是将自变量作为返回表的元素输出。如果表中没有<old>存在,则函数值为原表。acad_strlsort函数返回重新排序后的相同字符串表。

1.list函数。

list函数可以将任意数目的表达式组合成一个表。在AutoLISP中,本函数经常用于定义的一个2D或3D点变量(由两个或三个实数组成的一个表)。如果表中没有变量或没有未确定的项,可以用单引号括起一个表,能达到list函数同样的效果。例如:'(3.96.7)等价于(list3.96.7)。这对生成关联表或定义点表来说是非常方便的方法。本函数的相关函数是quota。

list函数的返回值为一个表,如果list函数不带任何自变量,即返回nil,为一个空表。同时,list函数在调用过程中对表内的变量进行一次求值,所以返回的表元素是自变量的值而不是自变量本身。

例如:

2.cons函数。

cons是AutoLISP的基本表构造函数。cons函数把第一个元素<newfirstelement>加到第二个元素<list>开头,构成一个新表后返回。变元<newfirstelement>可以是一个原子或一个表。cons函数也可以用在变元<list>是原子的情况。在这种情况下,cons函数通常用于构造称为点对的结构。当显示一个点对时,AutoLISP会在第一个元素和第二个元素之间显示一个圆点。使用cdr函数可以返回一个点对的第二个原子。点对是一种特属类型的表,处理普通表的某些函数通常不能接受点对作为变元。如果希望在表的最后加上一个元素可以使用如下程序式(reverse(cons<new_first_element>(reverse<list>)))。

例如:

3.append函数。

该函数将任意多个表组合成一个表。append函数将所有<list>串在一起,组合成一个新表。append、cons和list是AutoLISP的三个基本的表构造函数。而append函数的每个自变量必须是表,不可以为原子,并且它将每个自变量的元素重新组合称为一个大表。而list函数是将自变量作为返回表的元素输出。(www.chuimin.cn)

例如:

4.subst函数。

subst函数查找表中所有项,如果表中有<old>存在,则把所有的<old>用<new>代替,函数返回替换后的新表。如果表中没有<old>存在,则函数值为原表。

例如:

5.acadstrlsort函数。

该函数以ASCII码字母顺序对一个字符串表进行排序,返回排序后的结果。acadstrlsort函数是一个外部函数。它是由ADS应用程序ACADAPP定义的。变元<list>是要进行排序的字符串表。acad_strlsort函数返回重新排序后的相同字符串表。如果变元<list>是一个非法表,或者,如果没有足够的内存来时行排序,acad_strlsort函数返回nil.

例如: