软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
AutoLisp 笔记(四)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

                    表处理函数
                         何志丹

(car <list>)
该函数返回表<list>的第一个顶层元素。非空,返回第一个顶层元素;点对,返回左元素空表;空表,返回nil.
例子 :
(car '(x y z))返回值x
注意:返回值的层次与list不同。


(cdr '(x y z))返回(y z)
该函数返回表list中除掉第一个顶层元素后剩下的元素组成的表,表<list>为nil,返回nil;若为点对,返回右元素。
如:
(cdr  (x y z))返回值(y z)
返回值的层次与list不一定相同。
注意:car,cdr并不改变表的结构和值
car和cdr的组合函数
AutoLisp接受car,cdr的任意组合,其深度最多4层。组合函数的形式为cxr,cxxr,cxxxr,cxxxxr其中“x"代表A或D,分别表示car,cdr,作用顺序是”先右后左“。

(last <list>)

(nth <n> <list>)
该函数返回表<list>中顶层第n个元素(从0开始)。

表的构造函数与修改函数
(cons <expr1> <expr2>)
它通过把第一个元素加到第二个元素构成一个新表。具体地说。若<expr2>是表,则构成新表;为原子,刚返回一个点对。
(cons 'x '(a b c))返回值是(x a b c)
(cons '(a b c) 'x)返回((a b c). x)

(list <expr>...)
它返回所有<expr>的值(任意S_表达式)构成的表。
(list (+ 5 6) 'c 'd)
返回值(11 c d)

(append <list>...)
该函数要求list必须为表。它把所有的参数<list>中的各元素串在一起,组成一个新表返回。

(subst <nenitem> <olditem> <list>)
该函数在表的顶层元素中搜索,把所有的与<olditem>的值相同的元素用<newitem>替换。
注意:
1,只处理顶层元素。
2,若<olditem>没有找到,则不修改。
3,不修改list.

(reverse <list>)
该函数返回list的顶层元素倒排后的新表

联结表(Assocoation list),又称A-表,它是以点对或子表为元素的表。它可以表示为一个映射:<关键字集>-><数据集>,其中<关键字集>由每个点对或子表car组成,<数据集>由每个点对或子表cdr全体组成。

(assoc <key> <alist>)
搜索给定的联结表<alist>以找到选定的关键字<key>,然后返回包含关键字的第一个子表(或点对)中,没有找到返回nil.
注意:1,只在顶层找。
   2,关键字相同的点对或子表,则assoc只返回前面的点对或子表。

(length <list>)
该函数返回一个表<list>的顶层元素的个数。




相关文章

相关软件