2012-06-19 69 views
1

最近我用REPL進行了更多的交互式開發,並且我有一段代碼將一個符號推入​​全局動態變量(一個列表數據結構體)。問題是,我發現自己反覆重新加載將該符號推入全局的文件,因此每次重新加載時,都會將另一個重複符號推入列表中。common lisp:爲一個lisp會話只評估一次頂級表單

我希望對每個lisp會話只進行一次push操作,無論重新編譯/重新加載的次數如何,以模擬事情在更傳統/部署環境中的行爲,當我加載代碼時只有一次爲lisp會議。

下面是我現在使用的方法。我希望有一個更好的辦法....

(defvar *do-only-once* 
    (progn 
    (push 'some-val *some-global-lst*) 
    'evaled)) 

回答