2011-03-31 83 views

回答

6

全球:

(defvar my-list (list 1 2 3 4 5)) 

本地:

(let ((my-list (list 1 2 3 4 5))) 
    <code using my-list goes here>) 

注:有在ANSI Common Lisp中沒有詞法全局變量(雖然人們可以假冒他們使用define-symbol-macro)。使用defvardefparameter聲明全局變量將使變量special,從而從變量中刪除像閉包一樣的詞彙屬性。因此,您可能希望通過在變量名稱中使用耳罩來區分特殊變量和詞彙變量:

(defvar *my-list* (list 1 2 3 4 5))