cad编程基础lisp

cad编程基础lisp

ID:33554070

大小:602.88 KB

页数:15页

时间:2019-02-27

cad编程基础lisp_第1页
cad编程基础lisp_第2页
cad编程基础lisp_第3页
cad编程基础lisp_第4页
cad编程基础lisp_第5页
资源描述:

《cad编程基础lisp》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、下载第1章列表处理对那些没有学过Lisp语言的人而言,Lisp是一种奇怪的编程语言。在Lisp代码中到处都是括号。有些人把Lisp这个词当成是“LotsofIsolatedSillyParentheses”(大量分离的愚蠢的括号)的缩写。但是这种说法是没有根据的。Lisp是指“LIStProcessing”(列表处理),和通过把列表放置在括号之间来处理列表(甚至是列表的列表)的编程语言。括号标记了列表的边界。有时一个列表用一个单引号或表示标记“,”开头。列表是Lisp的基础。1.1Lisp列表在Lisp中,一个列表看起来像这个样子:'(rosevioletd

2、aisybuttercup)。这个列表以单引号开始。这个列表也可以写成下面这种你可能比较熟悉的形式:在这个列表中,元素是四种不同的花的名称,它们之间用空格分隔开,并用括号括起来,就像花在一个用石头墙围起来的花园中一样。列表中也可以有数字,如列表(+22)一样。这个列表有一个加号“+”,后接两个“2”,它们之间用空格分隔开。在Lisp中,数据和程序都以同样的方式表示;也就是说,它们都是由空格分隔的、由括号括起来的单词、数字或者其他列表的列表。(因为如果一个程序看起来像数据,那它就很容易作为其他程序的数据;这是Lisp的一个很有用的特性。)(附带提一下,对前面这

3、对括号而言,它不是Lisp列表,因为其中使用了标点符号“;”和“。”来分隔不同的元素。)下面是另一个列表,这个列表中有另外一个列表:这个列表的元件是单词“this”、“list”、“has”和内部列表“(alistinsideofit)”。内部列表由“a”、“list”、“inside”、“of”和“it”几个词组成的。1.1.1Lisp原子在Lisp中,我们刚才说到的词被称作原子(atom)。这个术语来自原子一词的历史含义,即原子意味着“不可分”。只要提到Lisp,我们在列表中使用的词就不可以再被分成更小的部分,这在程序中也一样。数字、单个字符(如“+”)

4、都是如此。另一方面,不像原子,一个列表可以拆分成不同的部分。(参见第7章,“基本函数:car、cdr和cons”)。在一个列表中,原子是由空格一分隔的。原子可以紧接着括号。2计计GNUEmacsLisp编程入门下载从技术上说,Lisp中的一个列表有三种可能的组成方式:括号和括号中由空格分隔的原子;括号和括号中的其他列表;括号和括号中的其他列表及原子。一个列表可以仅有一个原子或者完全没有原子。一个没有任何原子的列表就像这样:(),它被称作空列表。与所有的列表都不同的是,可以把一个空列表同时看作既是一个原子,也是一个列表。原子和列表的书面表示都被称作符号表达式(

5、symbolicexpression),或者更简洁地被称作s-表达式(s-expression)。表达式这个词,既可以指书面的表示,也可以指一个原子或者一个列表在计算机中的内部表示。人们常常无区别地使用表达式这个词。(同样地,在许多书中,表格(form)这个词也被看作是表达式的同义词)。顺便说一下,构成我们的宇宙的原子是在它们被认为是不可分的时候命名的。但是,人们已经发现,物理上的原子不再是不可分的。原子的一部分可以被分出来,或者可以裂变成大致相等的两个部分。物理上的原子在它们的更真实的本质被发现之前就已被过早地命名。在Lisp中,某种类型的原子,例如一个数

6、组,可以被分成更小的部分,但是分割数组的机制与分割列表的机制是不同的。只要是涉及列表操作,列表中的原子就是不可分的。与英语中一样,Lisp原子的组成字母的意义与由这些字母构成的单词的含义是不同的。例如,代表“SouthAmericansloth”的单词“ai”与“a”和“i”这两个字母是完全不同的。自然界有许多种原子,但是在Lisp中只有几种原子:例如,数字(比如“37”、“511”或“1729”)和符号(比如“+”、“foo”和“forward-line”)。以上列出的这些单词都是符号。在Lisp的日常使用习惯中,“原子”一词不太常用,因为程序员经常试图更

7、明确地表示他们处理的原子类型。Lisp编程几乎都是关于列表中的符号的(且有时是关于数字的)。(附带说明一下,上述3个单词是Lisp中一个正确的列表,因为它包含的是原子。在这种情况下,原子是一些由空格分隔、用括号括起来的符号,其中没有任何对Lisp而言是非法的标点符号。)另外,双引号中的文本—不论是句子或者是段落—都是一个原子。下面是一个这样的例子:在Lisp中,所有用双引号括起来的文本,包括标点符号和空格,都是单个原子。这种原子被称作串(string)(代表“字符串”之意),并且它是一种事物的分类,以便让计算机能够打印出可供阅读的信息。。字符串是不同于数字和

8、符号的一种原子,在使用上也是不同的。1.1.2列表中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。