Lisp 函数

(quote x)  【返回x】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(quote a)

a

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(atom x)  【当x是一个原子或者空表时,返回原子t,否则返回空表();一个未被引用的表达式作为自变量,atom将其作为代码,反之被引用的表仅作为表】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(atom ‘a)

t

>(atom ‘())

t

>(atom ‘(a b c))

t

>(atom (atom ‘a))

t

>(atom ‘(atom ‘a))

()

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(eq x y)  【当x和y的值相同或者同为空表时返回t,否则返回空表()】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(eq ‘a ‘a)

t

>(eq ‘a ‘b)

()

>(eq ‘() ‘())

t

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(car x)  【x要求是一个表,返回x中的第一个元素】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(car ‘(a b))

a

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(cdr x)  【x要求是一个表,返回x中除了第一个元素外的所有元素组成的表】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(cdr ‘(a b c))

(b c)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(cons x y)  【y要求是一个表,此函数返回一个表,这个表的第一个元素是x,其后是y中所有的元素】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(cons ‘a ‘(b c))

(a b c)

>(cons ‘a (cons ‘b (cons ‘c ())))

(a b c)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

(cond (p1 e1) (p2 e2) ... (pn en))  【p1到pn为条件,e1到en为结果,cond依次对p1到pn求值,直到找到第一个值为原子t的p,然后返回对应的e】

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>(cond ((eq ‘a ‘b) ‘first)

  ((atom ‘a) ‘second))

second

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

时间: 2024-09-30 09:41:47

Lisp 函数的相关文章

objectARX加载lisp函数、源码的一种方式

//感谢高飞鸟highflybird版主的思路以及研究. //先声明非公开函数acedEvaluateLisp extern int acedEvaluateLisp(const ACHAR*,struct resbuf *&); //直接使用源码的方式 struct resbuf *rbOut=NULL; int nRet= acedEvaluateLisp(_T("(defun sk_myline(/ ent)(setq ent(entmakex (list (cons 0 \&qu

Lisp简明教程

此教程是我花了一点时间和功夫整理出来的,希望能够帮到喜欢Lisp(Common Lisp)的朋友们.本人排版很烂还望多多海涵! <Lisp简明教程>PDF格式下载 <Lisp简明教程>ODT格式下载 具体的内容我已经编辑好了,想下载的朋友可以用上面的链接.本人水平有限,如有疏漏还望之处(要是有谁帮我排排版就好了)还望指出!资料虽然是我整理的,但都是网友的智慧,如果有人需要转载,请至少保留其中的“鸣谢”页(如果能有我就更好了:-)). Lisp简明教程 整理人:Chaobs 邮箱:[

Visual LISP 第3章 程序的流程控制盒AutoLISP文件(2)AutoLISP程序文件

1.AutoLISP文件的特点 AutoLISP文件的扩展名为".lsp",是由若干个AutoLISP表达式构成的. 虽然在“Command:”提示下,通过键入AutoLISP表达式的方法可以定义或调用LISP函数,但不便保留或调试程序,因此,通常都是以文件形式实现函数的定义和调用. 一个LISP文件可以定义多个函数或AutoCAD命令. 表达式相当于语句.一个表达式可以分写在若干行上,一行可以写若干个表达式.连续的多个空格相当于一个空格.以下是一个表达式分开写在若干行上的实例: (d

AJAX简介

基本介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML). 国内翻译常为“阿贾克斯”和阿贾克斯足球队同音.Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃.这个术语源自描述从基于Web的应用到基于数据的应用的转换.在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样. Ajax的核心是Java

Emacs 从入门到精通

1 前言 不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs有 些兴趣,或者已 经非常熟悉Emacs的基础操作了,并且希望有所提高.因此我不需要再把"编辑器 之神,还是神的编辑器"之类的恶俗话语放出来,来吸引你的好奇心.下面的内容, 从最基础的快捷键操作开始,一直到让你生活在Emacs中.这中间没有跳跃,你只 需要跟着我做,就可以了. 注意 该文档就是用Org生成的,我会把.org源码和html文档一块打包.关于 什么是Org,怎么生成,且看后面的讲解 2 Emacs 基础操

emacs最简单入门,只要10分钟

macs最简单入门,只要10分钟  windwiny @2013   无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完一遍,再动手操作.这次好像有些进展   最大的发现,emacs里所有操作都是LISP指令,包括上下左右移动光标,这意味着什么? “emacs是一个伪装成编辑器的操作系统”这句话应该就是这么理解吧,所有的操作都是指令,emacs就像操作系统一样,平时不用关注,实际上打交道的都是操作系统上运行的各种程序.

ANSI_common-lisp

前言 本书的目的是快速及全面的教你 Common Lisp 的有关知识.它实际上包含两本书.前半部分用大量的例子来解释 Common Lisp 里面重要的概念.后半部分是一个最新 Common Lisp 辞典,涵盖了所有 ANSI Common Lisp 的操作符. 这本书面向的读者 ANSI Common Lisp 这本书适合学生或者是专业的程序员去读.本书假设读者阅读前没有 Lisp 的相关知识.有别的程序语言的编程经验也许对读本书有帮助,但也不是必须的.本书从解释 Lisp 中最基本的概念

emacs的简单使用和配置

emacs的使用 Ted posted @ 2008年9月16日 22:35 in emacs with tags emacs , 5455 阅读 一.emacs编辑器简介 emacs编辑器是由C语言和LISP语言编写的.LISP(链表处理语言)是由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言. 我们可以使用LISP来扩展emacs,从而为emacs添加更多的命令.(补:emacs -nw:以命令行的方式来运行emacs,而不启动GUI界面) * 自动保存功能 如果你已经修改

语言的选择

因为某些功能的原因,一部份VBA的用户最终选择了NET,又因为某些功能的原因,一部份NET的用户最终选择了C++.最终这部份业余用户走上了专业的二次开发之路,而脱离了原来的专业.                      来自 一个CAD群叫  "arx-阿华"的 作为新手,作为业余,基础一般,精力有限,其实语言的选择是个不容忽视的问题.   转个04年的老帖:如何选择AutoCAD的开发工具? AutoCAD提供了三种主要的开发工具,分别是:使用C/C++的ObjectARX,VB/