大事なことなんだな、これ。下記のS式とその実行結果を見てテンパった。よく見ればわかることだけどハマりそう。
P.24 ラムダ式
-
(((lambda (x)
(lambda (x)
(+ x 1))) 2) 4)
;; => 5 -
(((lambda (x)
(lambda (y)
(+ x 1))) 2) 4)
;; => 3
1.は最初のlambdaでxが束縛された後にさらにネストしたlambdaにxが束縛されているので
((lambda (x) |
が評価されるときに内側のxが2には置き換わらないということですね。
最初のxと二つ目のxは別物と考えてもよさそうです。
2.の方は
((lambda (x) |
が評価される時点で(+ x 1)が(+ 2 1)に評価されるわけですね。
posted with amazlet at 09.05.10 猪股 俊光 益崎 真治 |
0 件のコメント:
コメントを投稿