我学习了Emacs Lisp,因为我想定制我的编辑器并且很清楚我对动态绑定的工作原理有点困惑。“let”绑定不适用于后续的“let”绑定?
这里是例子:
(setq y 2)
(let ((y 1)
(z y))
(list y z))
==> (1 2)
结果我回来=>(1 2) 请一些能解释一个究竟怎么回事。我试图用自己的框架来解释这个框架,其中每个框架创建本地绑定,但它看起来像在这里以不同的方式工作。
为什么它没有在最近的框架中取最接近的'y'值?
如果能够详细描述这里发生了什么,我会非常高兴。
在此先感谢。缺口。
我编辑的问题标题。这与动态绑定没有任何特别的关系。 – Drew 2014-08-27 15:34:47