下载此文档

AutoLISP程序语言设计.ppt


文档分类:IT计算机 | 页数:约67页 举报非法文档有奖
1/67
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/67 下载此文档
文档列表 文档介绍
AutoLISP程序语言设计
字符串
字符串是由包括在一对双引号内的一组字符组成的。
字符串包含任何可打印的字符。
字符串中字母的大小写及空格都是有意义的。
字符串的最大长度为100个字符
若字符串中没有任何字符尚无定义。
将nil赋给某一有定义的变量,其结果是取消该变量的定义并释放其所占存储空间。
引用尚未赋值的变量是错误的。
nil作为逻辑变量的值,表示不成立。
T:逻辑成立。
Pause:暂停,等待用户输入。
Pi:∏。
预定义的符号
AutoLISP的程序结构
1. 表达式
(1)表达式含义:AutoLISP处理的对象是符号表达式(简称表达式)。它相当于其它编程语言中的程序语句。
(2)表达式的构成:表达式由原子或表构成。
多数情况下以表的形式存在,例如:(函数名 [变元]…)
(3)表达式前缀表示法
大多数计算机语言采用“中缀表示法”来表示程序语句,如在C语言中,,写成如下语句:
X=
在该表示法中,运算符“=”放在两个操作数“X”和“”中间。这种表示法是大家都熟悉的。
在AutoLISP语言中,采用的是“前缀表示法”,即把运算符放在操作数之前,而不是放在它们的中间,并把运算符(即函数名)和操作数(即调用函数的参数)用圆括号括起来,以表的形式表示。如上例,用AutoLISP表示: (setq X )
运算符(setq)放在操作数(X )之前。
再看下面的例子:
X=(A+B)*C
这是一个“中缀表示法”表示的一个表达式,若用AutoLISP表示则为:
(setq X ( * (+ A B)C))
其中“+”、“*”号在AutoLISP中仍用作加法和乘法函数的名字。
(4)表达式的求值规则
整型数、实型数和字符串以其本身的值作为求值结果。
符号以其当前的约束值作为求值结果。
表根据其第一个元素来进行求值。
(+ ( * 2 3) ( / 6 3)) 返回:8
( fx a b c) 返回:error: no function definition: fx
( 5 a b c) 返回:error: bad function: 5
( setq p (3 2 1)) 返回:error: bad function: 3

(1)一个完整的AutoLISP程序往往是由一系列按顺序排列的表达式组成。例如:
(defun plus(x y)
(+(* x y)x)
)
(setq a )
(setq b )
(setq c (plus a b))
这个简单的AutoLISP程序由4个表达式(即表)组成。第一个表给出了X*Y+X的函数定义,第二、三表分别给变量A、B赋值,最后一个表是对定义的PLUS函数的调用。
(2)在AutoLISP程序中,一个表达式可以分在多行中写,也可以一行中写几个。一行由“回车”结束。如前所述,原子之间多个空格的作用和一个空格的作用相同,都起着分隔符的作用。如果不考虑打印或印刷限制的话,可以利用多个空格使程序的结构直观,便于阅读。例如已知函数:
用AutoLISP可以定义如下:
(defun fun(x)(cond((> x 0)1)((= x 0)2)((< x 0)0)))
这种书写虽然是合法,但阅读起来很困难,且不易于检查左右括号是否匹配。因此可以写为:
(defun fun(x)
(cond ((> x 0)1)
((= x 0)2)
((< x 0)0)


(3)在AutoLISP程序中可以用注释。
注释的作用是对程序作解释。例如,题目的名称、算法及使用方法,各函数的功能及调用参数的数据类型,长表达式的开始、结束标记等。注释以一个分号“;”开始,并在一行的末尾结束。注释可以出现在程序的任何地方。注释应该尽量的多,它并不减慢程序运行,但以后阅读程序或修改代码时,却能节省大量的时间。
;This program pri

AutoLISP程序语言设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数67
  • 收藏数0 收藏
  • 顶次数0
  • 上传人孔乙己
  • 文件大小806 KB
  • 时间2022-05-20