1.Do
(do ((temp-one 1 (1+ temp-one))
(temp-two 0 (1- temp-two)))
((> (- temp-one temp-two) 5) temp-one)) => 4
(do ((temp-one 1 (1+ temp-one))
(temp-two 0 (1+ temp-one)))
((= 3 temp-two) temp-one)) => 3
第一次循环将temp-one和temp-two用初始值(1,0)初始化,再计算最后的循环终止条件,如果结果为false,那么运行body里的代码;第二次循环,先计算step-form里的内容,这里注意几点:1.后面的step-form可以引用前面变量的值(如第二个例子temp-two 0 (1+ temp-one))
但是step-form的计算是并行的,即在temp-two的step-form里引用temp-one的值只能是上一次循环结束时保存的值(如第二个例子当temp-two为3时,实际temp-one为2,因为temp-two不等temp-one的step-form执行完再执行自己的step-form,并行)。
2.do*
(do* ((temp-one 1 (1+ temp-one))
(temp-two 0 (1+ temp-one)))
((= 3 temp-two) temp-one)) => 2
Do*和do很相似,但是do*计算step-form时是串行的。
3.Dolist
(setq temp-two '()) => NIL
(dolist (temp-one '(1 2 3 4) temp-two) (push temp-one temp-two)) => (4 3 2 1)
(setq temp-two 0) => 0
(dolist (temp-one '(1 2 3 4)) (incf temp-two)) => NIL
temp-two => 4
(dolist (x '(a b c d)) (prin1 x) (princ " "))
>> A B C D
=> NIL
4.Dotimes
(dotimes (temp-one 10 temp-one)) => 10
(setq temp-two 0) => 0
(dotimes (temp-one 10 t) (incf temp-two)) => T
temp-two => 10
Dotimes是针对integer操作的(上面例子的10),var(temp-one)每次都会是0至10之间的一个数字,body里利用这个变量做些事情。
分享到:
相关推荐
AutoLISP是一种基于LISP语言的编程环境,专为Autodesk的AutoCAD软件设计,用于扩展AutoCAD的功能和自定义工作流程。这个压缩包文件包含了关于AutoLISP编程的教程,对于想要掌握这一技能的用户来说是宝贵的资源。 在...
CAD Lisp是一种基于Lisp语言的编程工具,常用于AutoCAD软件中,用于扩展和自定义CAD的功能。在“CAD-lisp.rar”这个压缩包中,包含的是一系列CAD Lisp源代码,这些源代码主要用于实现CAD中的图层管理、对象修改以及...
AutoLISP是一种基于LISP语言的编程方言,专为Autodesk的AutoCAD软件设计,用于扩展和自动化CAD操作。此压缩包文件“AutoLISP函数参考(明经翻译版).rar”提供了一份全面的AutoLISP函数参考资料,由明经翻译,方便用户...
LISP(List Processing)是一种古老而强大的编程语言,它的设计思想独特,主要应用于人工智能、计算机科学、软件工程等领域。在给定的“lisp工具.rar”压缩包中,包含了一个LISP程序,用于辅助绘图工具,使得用户...
《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》重点讲解autolisp、dcl、visual lisp三合一的autocad二次程序开发技术。《autocad完全应用指南.autolisp+dcl+visual lisp程序设计篇》分为4篇,共35章。...
Includes discussion and examples of advanced constructs for iteration, error handling, object oriented programming, graphical user interfaces, and threading. Supplements Common Lisp reference books ...
AutoCAD 2010 AutoLISP参考手册是专为AutoCAD 2010设计者和开发者编写的,旨在帮助他们深入理解和利用AutoLISP语言进行程序开发。AutoLISP是一种基于LISP(列表处理)语言的编程环境,特别为AutoCAD定制,允许用户...
AutoLisp是一种基于Lisp语言的编程环境,专为Autodesk的AutoCAD软件设计,用于扩展和自动化CAD操作。这个入门教程将引导你逐步了解AutoLisp的基本概念、语法和功能,帮助你提升AutoCAD的使用效率。 首先,我们要...
ANSI Common Lisp 中文翻译版.pdf 此资源是 ANSI Common Lisp 的中文翻译版,涵盖了 Common Lisp 语言的基础知识和高级主题。该资源包含了 17 章节,从基础的列表、特殊数据结构、控制流程、函数、输入与输出、符号...
在AutoCAD环境中,LISP(AutoLISP)是一种强大的编程语言,它允许用户自定义功能,提高工作效率。对话框在AutoLISP编程中扮演着重要角色,为用户提供友好的交互界面,使用户能够输入参数、选择选项等。本文将详细...
### .NET与LISP联合编程:实现现代与传统的融合 #### 概述 .NET作为一种主流且高效的开发平台,在工业设计、工程制图等领域被广泛采用。然而,在利用.NET平台进行CAD(Computer-Aided Design)软件的二次开发时,...
标题:“实用Common.Lisp编程.pdf” 描述:“实用Common.Lisp编程.pdf,2011.10出版” 从这些信息中,我们可以提炼出几个关键的知识点: ### Common Lisp语言简介 Common Lisp是一种高级的、通用的、多范式的编程...
标题中的“LISPforPLINE.rar_LISPforPLINE_cad_cad lisp_lisp_lisp 线”指的是一个与AutoCAD相关的LISP程序,主要用于处理“PLINE”,即多段线对象。这个程序是用LISP语言编写的,LISP是一种古老但功能强大的编程...
### Lisp Excel:斯坦福的研究者实现的 Lisp 功能与 Excel 的集成 #### 概述 在《Lisp and Symbolic Functionality in an Excel Spreadsheet: Development of an OLE Scientific Computing Environment》这篇论文...
《MIT的LISP程序员手册》是MIT计算中心与电子研究实验室共同出版的一份详尽的LISP编程系统指南。这份手册由John McCarthy等多位在LISP语言开发领域有着卓越贡献的专家共同编写,旨在为LISP程序员提供全面的指导和...
LISP,全称为“List Processor”,是一种历史悠久的高级编程语言,以其独特的链表数据结构和符号处理能力闻名。这份名为“LISP源码800例”的资源集合,显然是为那些想要深入理解LISP编程的人准备的。它包含了800个...
《autocad完全应用指南.autolisp+dcl+visuallisp程序设计篇》重点讲解autolisp、dcl、visuallisp三合一的autocad二次程序开发技术。《autocad完全应用指南.autolisp+dcl+visuallisp程序设计篇》分为4篇,共35章。第1...
《autocad完全应用指南.autolisp+dcl+visuallisp程序设计篇》重点讲解autolisp、dcl、visuallisp三合一的autocad二次程序开发技术。《autocad完全应用指南.autolisp+dcl+visuallisp程序设计篇》分为4篇,共35章。第1...
Visual LISP是AutoLISP的一个扩展,提供了一个更友好的图形界面,用于编写、测试和调试LISP程序。 在AutoCAD中,AutoLISP语言被设计用来增强和扩展软件的功能。它允许用户创建新的命令,修改已有命令的行为,以及...
《Land of Lisp》和《Machine Learning in Action》是两本非常重要的IT图书,分别涵盖了Lisp编程语言和机器学习这两个核心领域。 首先,让我们深入探讨《Land of Lisp》。这本书由Conrad Barski撰写,旨在将读者...