2011-12-03 2 views
4

私は、lispセッションで作成したすべての変数のリストを取得します。 common-lisp-userでインターンされているすべてのシンボルを見ることで可能になるはずです。しかし、どうすればそのようなリストを手に入れることができますか?ユーザが作成した変数のリストを取得

答えて

3

を参照してください:

(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

2

do-symbolsを使用して、common-lisp-userパッケージのシンボルを見つけることができます。

はあなたがdo-symbolsとすべてのバウンドのシンボルを反復処理し、他のパッケージからインポートされたシンボルを、除外のみcl-userからバインドされた変数を取得するにはthe CLHS entry for Macro DO-SYMBOLS, DO-EXTERNAL-SYMBOLS, DO-ALL-SYMBOLS

関連する問題