首页 理论教育AutoCAD2014:表处理基本函数

AutoCAD2014:表处理基本函数

【摘要】:AutoLISP提供了丰富的表处理函数,灵活运用这些函数可以满足表处理的一般要求。下面我们来介绍表处理的基本函数。length函数返回指出一个表中元素数目的一个整型数。例如:4.car函数cdr函数及其组合函数。AutoLISP支持car和cdr函数的拼接调用,其拼接深度最多可达四级。其相当于car函数与cdr函数的嵌套。如果在表<list>中,不出现表达式<expr>,本函数返回nil。listp函数用于检查某个项是否是表。

AutoLISP提供了丰富的表处理函数,灵活运用这些函数可以满足表处理的一般要求。下面我们来介绍表处理的基本函数。

1.表长度函数 length。

length函数返回指出一个表中元素数目的一个整型数。该函数返一个表<list>中的顶层元素的整数。

例如:

2.表颠倒函数 reverse。

reverse将表的元素顺序倒置后返回。

例如:

3.nth函数。

nth函数返回一个表中的第n个元素。变元n是表中要返回的元素序号(表中的元素的编号从零开始)。如果n大于表中的最后那个元素的序号,nth返回nil。

例如:

4.car函数cdr函数及其组合函数。

car函数取一个表中的第一个元素并返回。cdr函数从一个表中排除第一个元素,将所有剩余的元素作为一个表返回。调用car、cdr函数时,如果变元list是空表,car函数则返回nil。(www.chuimin.cn)

AutoLISP支持car和cdr函数的拼接调用,其拼接深度最多可达四级。其相当于car函数与cdr函数的嵌套

例如:

5.last函数。

last函数返回一个表中的最后那个元素。last函数可以返回一个原子和一个表。初一看,用last函数去获取一个点的Y坐标,似乎是一种理解的方法。这对于2D点(由两个实数组成的表)来说确实如此,但对于3D点,用last函数返回的却是Z坐标。为了使函数无论在处理2D点还是在处理3D点时都能很好地工作,建议使用cadr函数去获取Y坐标,而使用caddr去获取Z坐标。例如:

6.member函数。

member函数在一个表搜索一个表达式的出现,并返回表的其余部分,某余部分的起点从表达式(<expr>)的第一次出现处开始。如果在表<list>中,不出现表达式<expr>,本函数返回nil。在使用member函数时,出现两个变量,第一个自变量的类型没有限制,第二个自变量必须是表。

例如:

7.listp函数。

listp函数用于检查某个项是否是表。如果<item>是一个表,则返回T;否则,返回nil。由于nil既可表示一个原子,也可以表示一个表,所以当把nil用listp函数作测试时,它返回T。

例如: