6

我听说活动符号表可以在 Common Lisp 运行时中访问。我误解了吗?

4

2 回答 2

8

“符号表”在 Common Lisp 中称为“包”。例如,参见:包简介,CL HyperSpec

Common Lisp 中提供了几个对包的操作:包字典

符号可以是包的成员(被“实习”)。

变量*package*保存一个包作为一个值,它被几个使用包作为默认值的操作使用。一个例子是“阅读器”,默认情况下它会在 *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 回答