Common Lisp ランタイム内でアクティブなシンボル テーブルにアクセスできると聞いたことがあります。私は誤解しましたか?
2 に答える
8
「シンボル テーブル」は、Common Lisp では「パッケージ」と呼ばれます。例:パッケージの紹介、CL HyperSpec を参照してください。
パッケージに対するいくつかの操作は、Common Lisp: The Packages Dictionaryで利用できます。
シンボルはパッケージのメンバーになることができます (「interned」)。
変数*package*は、パッケージを値として保持します。これは、パッケージをデフォルトとして使用するいくつかの操作で使用されます。例は ' reader ' で、これはデフォルトで *package* のパッケージを検索します。
于 2010-09-20T07:19:11.430 に答える
5
使用できますdo-all-symbols
。
同様の質問については、こちらを参照してください。受け入れられた回答には、パッケージに関する詳細も含まれており、便利です。
コードでこのようなもの。適切と思われるように定義useful-symbol-p
します。
(let ((lst ()))
(do-all-symbols (s lst)
(when (useful-symbol-p s) (push s lst)))
lst)
于 2010-09-20T02:12:18.480 に答える