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