我學習了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