【发布时间】:2013-03-06 00:34:15
【问题描述】:
我正在阅读书中有关本地定义的内容,并且遇到了这个示例-
(local ((define (f x) (+ x 5))
(define (g alon)
(cond
[(empty? alon) empty]
[else (cons (f (first alon)) (g (rest alon)))])))
(g (list 1 2 3)))
local 究竟在这里做什么?
【问题讨论】:
-
这看起来像一个 let 绑定......就像docs.racket-lang.org/reference/let.html。我以前没见过“local”,但它看起来应该和 let 做同样的事情,即只在本地为调用定义 f 和 g (g (list 1 2 3)) 但不能让其他部分可以访问的代码。这是你的意思还是发生了其他事情?