7
变量绑定的问题这是一个关于函数变量绑定问题定义:关于Common Lisp中
如果我定义funcion“总”这样,X在“总”是绑定到让当地X。
CL-USER> (let ((x 0))
(defun total (y)
(incf x y)))
TOTAL
CL-USER> (defvar x 10000)
X
CL-USER> (total 1)
1
,但是,如果我定义 “总” 这样,x被绑定到全局x在defvar:
CL-USER> (defvar x 10000)
X
CL-USER> (let ((x 0))
(defun total (y)
(incf x y)))
TOTAL
CL-USER> (total 1)
10001
为什么呢?我需要一个解释来理解它。 环境是windows + emacs + slime + sbcl.Thanks。
感谢您的帮助! – luosha865 2011-04-23 06:50:14