clisp学习笔记2-clisp风格的hello-world

ok,来一个clisp风格的hello-world:

打开emacs,进入REPL就开始干活了~

开始输入代码:

CL-USER> “hello,owrld” //输入的代码

轻轻的一个回车,你能看到以下结果

"hello,world”

完了?这就完了?答对了~clisp风格的 hello,world 就是这么简单.太简单了?好,下面来个函数式的 hello,world:

CL-USER> (defun hello-world ()

                  (format t “Hello,World”)) //回车

HELLO-WORLD //响应,代表完成了编译

OK,代码编辑与编译都完成了,如何运行呢?

CL-USER> (hello-world) //回车

"Hello,World” //输出的结果

NIL//函数返回值

恩,clisp风格的一个函数就算敲定了,大家可以见到我用红色字体标识了一个NIL,这个是函数的返回值,代表空.clisp中的函数默认返回以空格分隔的最后一个表达式的值,而我们这个函数中最后一个表达式(format t “hello,world”) 仅仅输出了一个字符产,所以她的返回值为 NIL(空).

接下来,得想想怎么搞定保存工作了(快捷键中 C = Ctrl).

C+x C+f : 新建一个文件 Hello.lisp (一般风格以.lisp结尾);

可以看到 emacs 直接打开了一个新的文本窗口,好开始code吧~

(defun hello-world ()

     (format t “hi! hello,world!”)) //输出的内容有点改变,区分之前的函数~

ok,在函数体上 以C+c C+c 进行编译,emacs回给予一个互动的效果,完成后 C+c C+z 快速打开 REPL,调用函数

CL-USER>(hello-world) //回车

"hi!hello,world!”

NIL

运行通过了,C-x b Hello.lisp切换文档,C+x s保存上就搞定了.

但是,还有一个问题,刚刚是通过直接将函数体发送到LISP编译,然后运行的,若通过源文件的名称改怎么搞?好,试一下.

首先将环境重置一下,切换到REPL,直接输入逗号回车,底部状态栏会提示输入命令,输入 quit将关闭所有缓冲区.再输入 ALT+x slime 重启SLIME(这个现在不明白是什么东西).

重启后进入 REPL,调用一下函数

CL-USER>(hello-world)

会报错,说明环境重置了,来加载源文件

CL-USER> (load “Hello.lisp”)

… 提示加载的路径

CL-USER>(hello-world)

"hi,hello,world!”

NIL

成功~

嘎嘎,总算搞定了,接下来去学习基本语法等知识喽~

剩余的问题还有:

编辑器中包含的 SLIME 还不知道是什么东西.

posted on 2012-01-10 11:36  张晶_  阅读(454)  评论(0)    收藏  举报

导航