我学习了Emacs Lisp,因为我想自定义我的编辑器并且要清楚我对动态绑定的工作原理有点困惑.
这是一个例子:
(setq y 2) (let ((y 1) (z y)) (list y z)) ==> (1 2)
结果我回来了=> (1 2) 请一些人解释一下究竟发生了什么.我尝试使用框架的概念来解释它,每个框架创建本地绑定,但它似乎在这里以不同的方式工作.
为什么它不在最近的帧中取最接近的'y'值?
如果可以详细描述这里发生了什么,我会很高兴.
提前致谢.缺口.