首页

2009年5月14日星期四

Scheme/Lisp高级属性(2)


---------------------------------------------------------------------
require 调用函数库,调用当前系统时间,date是linux系统命令,如:
(require (lib "process.ss")
(system "date")
---------------------------------------------------------------------
quasiquote 准引用
(quasiquote '(1 2 3))=> '(1 2 3)
还有一用法加@:
`(1 ,@(cdr '(boy gril) 'bave))
Scheme/lisp本身很灵活,只要想得到就做得到,我这里举出以上两种方法
---------------------------------------------------------------------
map函数,将函数施加到一个列表进行计算:
(map (lambda (x)
(* x x))
'(1 2 3)) =>1 4 9
还有一写法
(map (lambda (x y)
(* x y))
'(1 2 3) '(4 5 6)) =>4 10 18
Scheme/lisp本身很灵活,只要想得到就做得到,我这里举出以上两种方法
---------------------------------------------------------------------
for-each将列表转化为函数
(for-each
(lambda (x)
(display x))
'(1 2 3))=>123
可以用换行函数(newline)看得更明白,这里是 1 , 2 , 3不是123呵呵mzscheme解释出来是这样的,为了好看最好加上(newline).
---------------------------------------------------------------------

没有评论:

发表评论