let
(let ((v1 e1) (v2 e2) ... (vn en)) <body> ...)
((lambda (v1 v2 ... vn) <body> ...)
 e1 e2 ... en)
と同じことである。

ここで、ei は拡張された環境で評価されるのではないことに注意。
> ((lambda (a b c) (+ a b c))
   3 7 2)
12
> (let ((a 3) (b 7) (c 2)) (+ a b c))
12
> (let ((a 3) (b a) (c 2)) (+ a b c))
*** ERROR IN (stdin)@10.16 -&minus; Unbound variable: a
1>

一覧 前へ 次へ