用 Scheme 程序说声:hello world。先打开你的编辑器,创建一个称为 hello.ss 的文件,然后将下面的文本内容保存进去:
;hello.ss (import (rnrs)) (begin ;显示 hello 文字 (display "hello world.") (newline) )
第1行是注释。Scheme 会把分号(;)及在这行它后面的文本内容忽略掉。
begin 是 Scheme 传输进入从属语句段(subform)序列的一种方式。在上面的示例中有2个从属语句段。第1段 display 处理函数的调用:将它的实参(字符串"hello world.")输出到控制台(或者“标准输出”)。第2段是 newline 处理函数的调用:输出了一个回车。
想要运行该程序的话,打开 IronScheme 控制台,在命令行中输入:
(load "E:\\work\\hello.ss")
Scheme 会执行 hello.ss 中的内容,输出 hello world.再后跟一个回车。
在《高阶函数:用作参数、函数生成的函数和匿名函数》中,用匿名函数计算给定数字的平方:
;square.ss
(import (rnrs))
;定义 square 函数
(define square
;匿名函数
(lambda (x)
(* x x)
)
)
;调用 square 函数,然后显示
(display (square 3))
(newline)
(display (square 4))
(newline)
执行 square.ss 内容的结果如图:
在 abruzzi 的《FP》分享中,用apply处理函数对list的参数进行了累加:
;list.ss (import (rnrs)) (define (sum argList) (apply + argList) ) (define p '(1 2 3 4 5 6)) (display (sum p)) (newline)
在上面的代码中请注意:用单引号来指定list,也可以写成:
(list 1 2 3 4 5 6)
参考:
Teach Yourself Scheme in Fixnum Days(译)
(完)


3605

被折叠的 条评论
为什么被折叠?



