首页

2010年5月29日星期六

Scheme/Lisp let,let*,letrec的使用

(let ((x 5))
    (define foo (lambda (y) (bar x y)))
    (define bar (lambda (a b) (+ (* a b) a)))
    (foo (+ x 3)))

(let* ((yin ((lambda (foo) (display "@") foo)
               (call/cc (lambda (bar) bar))))
       (yang ((lambda (foo) (display "+") foo)
               (call/cc (lambda (bar) bar)))))
(yin yang))


(letrec ((p (lambda (x)
              (if (= x 100) 'Done
                  (begin
                    (display x)
                    (newline)
                    (p (+ x 1)))))))
(p 0))

以上就是这三个函数的使用实例,如果看不懂就先去学习SCHEME开发!

没有评论:

发表评论