
LISP
逐兔郎
想做大牛
展开
-
Common Lisp入门笔记(三)条件和循环
一、条件在Lisp中用原子t 表示真,nil表示假。 一般说来,函数名以字母 p 的 lisp 函数用于检验对象具有某种属性。例如,symbolp,listp,keywordp,boundp,fboundp,numberp,typep,oddp,evenp,zerop。像这一类返回值为真或假的函数称为微词 predicate 。1、typep 用于测试某个对象是否具有指定的类型。如原创 2016-05-15 15:48:25 · 2661 阅读 · 0 评论 -
Common Lisp入门笔记(四)函数
一、函数1、defunCommon Lisp中定义函数使用defun来完成。通常需要3个以上的参数:函数名、参数表、函数体。例如:>(defun area(r) (* PI r r))>AREA在Common Lisp中,每个函数的地位都是一样的,没有所谓的main函数。函数调用的求值规则就是表达式求值规则:首先对每个参数从左到右求值原创 2016-05-15 21:40:36 · 1182 阅读 · 0 评论 -
Common Lisp入门笔记(二)赋值与输入输出
摘自 《Lisp语言- 陈光喜》一、赋值(1)letLisp中使用let来完成局部变量的定义。其形式为:(let ((var1 exp1)(var2 exp2)…(varn expn))原创 2016-05-08 21:39:12 · 6164 阅读 · 0 评论 -
Common Lisp入门笔记(五)书后习题
摘自 《Lisp语言- 陈光喜》P28 1.10 习题1、写出下列数学式子中的中缀表达式(+ (+ (* 3 3) (* (- (/ (* 17 5) 6) 4) 8)) 49)(+ (* 2 (sin (- (+ (/ x y) e) (* 3 y)))) (* 45 (* x x)))(+ (+ (+ (+ (+ (* (* a原创 2016-05-16 09:43:54 · 1137 阅读 · 0 评论 -
Common Lisp入门笔记(一)7个基本运算符
表达式实例:>(+ 1 2)>3Common Lisp表达式求值规则是:首先对每个参数从左到右进行求值;其次将这些已经求值的参数作为运算符函数的参数进行函数调用求值;所求得的值作为表达式的值返回。一、Lisp的数据类型Lisp有其它语言的一切类型,还提供另外其它语言没有两种类型: symbol(符号)和 list(表)。(1)符号显示时总是被转换为大写。一般原创 2016-05-08 18:13:36 · 6071 阅读 · 0 评论 -
ANSI Common Lisp 笔记一
一、数据类型Lisp中有其它语言所没有的两种类型:符号(symbol)和表(lists)。符号是单词 (words)。无论你怎么输入,通常它们被转换成大写:CL-USER> 'mikeMIKECL-USER>注:输入 :abort 跳出错误 列表 是由被括号包住的零个或多个元素来表示。元素可以是任何类型,包括列表。你必须引用列表,不然 Li sp 会以为这是一原创 2016-09-13 23:02:08 · 980 阅读 · 0 评论 -
ANSI Common Lisp 笔记六(控制流)
一、区块有3个构造区块的基本操作符:progn , block 以及 tagbody 。1、在progn 主体中的表达式会依序求值,并返回最后一个表达式的值。2、一个 block像是带有名字及紧急出口的progn。第一个参数应为符号。这变成了区块的名字。在主体中的任何地方,你可以停止求值,并透过使用return-from指定区块的名字,来立即返回一个数值:CL-USER原创 2016-10-05 11:43:30 · 706 阅读 · 0 评论