听说Scheme是个不错的语言,算是Lisp的一个方言把。不说别的,就冲着和Emacs内嵌的Common Lisp语言和Sawfish窗口管理器使用的脚本控制语言,学了!再说,那个著名的巫师书《SICP》里面说了对初学者比较有好处,可以集中精力专注于解决问题,而不是把时间浪费在语言的语法细节上……其实真实的目的是,偶买了《SICP》这书,不学Scheme的话,似乎白烧钱了。。。
废话少说,偶用的是Debian系统,装了Mzscheme这个环境。 Debian是个优秀的系统,在上面装Mzscheme非常easy的,你把网络配置好,用一个apt-get install mzscheme,就全自动安装。关于这个命令,回头,偶到Linux版块儿研究。 装好环境,得运行个Scheme的程序感受下吧。嗯。。。来实现个经典的程序大印“Hello,world!”到屏幕。(注意!本文是学习《Teach Yourself Scheme in Fixnum Days》(http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-1.html#node_toc_start)的笔记 偶先给出它的源程序
; It's my first scheme program
(begin
(display "Hello, world!")
(newline)
)
嘿嘿,看着程序,傻眼了吧,不知道该如何运行?下面进入重点。。。
运行程序方法1:
因为Scheme是个解释性程序,所以。。。嘿嘿,明白吗?启动Mzscheme,说白了,就是在console下,输入mzscheme,回车,进入mzscheme的监听环境。 mzscheme的监听环境的提示符是“>"然后,你就可以把这个程序敲进去了
运行方法2: 把上面的程序,保存进hello.scm文件中,启动mzscheme,在里面输入(load "hello.scm")然后。。。嘿嘿
运行方法3: 以上方法,都是需要进入mzscheme环境中,这个,用着比较郁闷啦,偶感觉,你可以在console下试试 mzscheme -r hello.scm 哈哈,屏幕上打印出"hello, world!"了
会使用工具是最基本的,否则,即使你再精通语言,不会使用工具,这个。。。一样不会用。 哦,差点忘记了,在mzscheme环境中退出,用(exit)这个form来退出,当然,linux下,你也可以用ctrl+d来这个退出。。。
下面来简单解释下上面的程序首先,Scheme是用分号来开始注释的,单行注释,换句话说,就是分号后面的,都是注释语句,和汇编语言的注释,似乎差不多。。。开始的begin形式,是scheme中,引出派生形式列的。在此语句中,引出两个,(display "hello, world!")和(newline)两个语句列 (display "hello, world!")的功能不言而喻,打印字符串到屏幕上。 (newline)的功能,就是打印个换行符到屏幕中。 嘿嘿。。。。。