您的位置:首页 > 理论基础 > 计算机网络

LISP 学习笔记 (一)-初识LISP,表达式写法

2008-06-13 23:34 316 查看
因为在学习LISP。写写笔记,希望能持之以恒。

*声明:所有参考资料均出自网络,版权归原作者所有

参考:LISP Tutorial 1: Basic LISP Programming:http://www.cs.sfu.ca/CC/310/pwfong/Lisp/1/tutorial1.html

首先,当然是建立环境,本来想着这个会有点麻烦,谁知道直接到http://sourceforge.net/projects/clisp/下载,安装,双击快捷方式就搞定,汗一个……


这是打开之后的界面,版本2.45:



要退出就输入:(quit)或者(exit),然后回车。当然,直接x窗口也行……

这是第一笔——LISP表达式

操作:输入“(* 2 (cos 0) (+ 4 6))” 之后,会得出结果:20

总结:

LISP是函数式编程,所以所有的输入都被认为是函数(严格来说应该叫做表达式)。而函数总是用括号括起来;

函数 f(x) 会表示为 (f x)。例如 cos(0) 就会写成 (cos 0);我们看到,第一个元素总是函数名称/符号,之后的就是函数参数;

一些常用的运算符实际上也是函数,例如加法函数 f(x,y)=x+y 就表示为(+ x y);

有些函数可以有任意个参数,例如 (* 2 4 6 8 10) 表示这几个数字相乘;

参数也可以是函数;例如(cos 0)和(+ 4 6)都是乘积(“*”)函数的参数,但它们本身也是函数; 

一般情况下,作为参数的函数/表达式总是先被计算(一般参数计算顺序由右到左,但也有一些例外情况,譬如if 和or函数的参数就按照从左到右的顺序计算),直到最外面的运算完了,程序就结束。

下课了……

 

注:思考一下这两个表达式有什么区别:(or t (> 2 1)) 和 (or (> 2 1) t)?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lisp basic 编程 网络