养成良好的autolisp书写习惯.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
养成良好的 AutoLISP 书写习惯 众所周知,Lisp 是一种表结构语言,括号必须成对出现,在调试时往往为遗漏了一个括号大 费周折,所以,养成一个好的编程习惯是学好 Lisp 所必须的。 ⑴选择一个较好的编辑器,这是一个基本条件,建议使用 Visual Lisp 编辑器或 Lisplink 等专用编辑器,此类编辑器可以对函数突出显示。 ⑵按 Lisp (DCL)专有格式书写,并经常对程序进行“格式化”,及时发现语法错误,并有 利于调试是查找错误。 ⑶使用自定义函数,并辅助以适当得注释,在较大程序中按功能使用自定义函数可以使 得程序条理化。 autolisp 的入门教程+autolisp 函数! Lisp 是一门历史悠久的语言,全名叫 LISt Processor,也就是“表处理语言”,它是由 John McCarthy 于 1958 年就开始设计的一门语言。和 Lisp 同时期甚至更晚出现的许多语言如Algo 等如今大多已经消亡,又或者仅仅在一些特定的场合有一些微不足道的用途,到现在还广为 人知的恐怕只剩下了 Fortran 和 COBOL 。但唯独 Lisp,不但没有随着时间而衰退,反倒是一 次又一次的焕发出了青春,从 Lisp 分支出来的 Scheme、ML 等语言在很多场合的火爆程度 甚至超过了许多老牌明星。那么这颗常青树永葆青春的奥秘究竟在哪里呢? 如果你只接触过 C/C++、Pascal 这些“过程式语言”的话,Lisp 可能会让你觉得十分不同寻 常,首先吸引你眼球(或者说让你觉得混乱的)一定是 Lisp 程序中异常多的括号,当然从 现在的角度来讲,这种设计的确对程序员不大友好,不过考虑到五六十年代的计算机处理能 力,简化语言本身的设计在那时算得上是当务之急了。 Lisp 的基本语法很简单,它甚至没有保留字 (有些语言学家可能对这一点有异议,别怕,我 听你们的),它只有两种基本的数据,仅有一种基本的语法结构就是表达式,而这些表达式 同时也就是程序结构,但是正如规则最简单的围棋却有着最为复杂的变化一样,Lisp 使用最 基本的语言结构定义却可以完成其它语言难于实现的、最复杂的功能。 废话少说,现在我们就来看看 Lisp 语言中的基本元素。 Lisp 的表达式是一个原子(atom)或表(list),原子(atom)是一个字母序列,如 abc;表是由零 个或多个表达式组成的序列,表达式之间用空格分隔开,放入一对括号中,如: abc () (abc xyz) (a b (c) d) 最后一个表是由四个元素构成的,其中第三个元素本身也是一个表。 正如算数表达式 1+1 有值 2 一样,Lisp 中的表达式也有值,如果表达式 e 得出值 v ,我们 说 e 返回 v 。如果一个表达式是一个表,那么我们把表中的第一个元素叫做操作符,其余的 元素叫做自变量。 正如欧几里德的几何世界中有五个公理一样,我们在这里给出 Lisp 世界中的 7 个公理(基 本操作符): (quote x)返回 x ,我们简记为x (atom x)当x 是一个原子或者空表时返回原子 t ,否则返回空表()。 Lisp 中我们习惯用原 子 t 表示真,而用空表()表示假。 (atom a) t (atom (a b c)) () (atom ()) t 现在我们有了第一个需要求出自变量值的操作符,让我们来看看 quote 操作符的作用—— 通过引用(quote)一个表,我们避免它被求值。一个未被引用的表达式作为自变量,atom 将 其视为代码,例如: (atom (atom a)) t 反之一个被引用的表仅仅被视为表 (atom (atom a)) () 引用看上去有些奇怪,因为你很难在其它语言中找到类似的概念,但正是这一特征构成了 Lisp 最为与众不同的特点——代码和数据使用相同的结构来表示,而我们用 quote 来区分它 们。 (eq x y)当x 和 y 的值相同或者同为空表时返回t ,否则返回空表() (eq a a) t (eq a b) () (eq () ()) t 例如:我们有时想捕捉任意两点的中点,而不只是一条线上的中点,用系统自己的捕捉中点 (它要有辅助线)就不行了, 我们可以参考“捕捉虚中点.lsp”程序来实现。除程序中的语句要学外,动画中的自动找到所 有的全局变量并把它们 改为局部变量的方法很有用!动画中先画了一个六边形,再画一个圆与它内接,圆心就是捕 捉虚中点! AutoLisp 概述 AutoLisp

文档评论(0)

152****7770 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档