2011-12-03 43 views
4

我想獲取我在lisp會話中創建的所有變量的列表。我認爲這應該可以通過查看common-lisp-user中實現的所有符號來實現。但是,我怎麼能得到這樣的清單?獲取用戶創建的變量列表

回答

3

只得到從cl-user約束變量,你遍歷所有綁定的符號與do-symbols和排除符號,從其他包的輸入:

(let ((external-symbols (mapcan (lambda (pkg) 
            (let (rez) 
            (do-symbols (s pkg rez) 
             (push s rez)))) 
           (package-use-list (find-package 'cl-user))))) 
    (do-symbols (s 'cl-user) 
    (when (and (boundp s) 
       (not (member s external-symbols))) 
     (print s)))) 
+0

這個工作很好,謝謝。 – snowape