我确定答案是显而易见的,但我正在敲打这个问题。我试图描述LISP包中的每个外部定义的东西。以下(SBCL)代码打印符号就好了:
(require "sb-posix")
(do-external-symbols (single-symbol 'sb-posix)
(prin1 single-symbol) (terpri))
...所以我希望像这样的东西可以完成这项工作,但它并没有:
(require "sb-posix")
(do-external-symbols (single-symbol 'sb-posix)
(describe sb-posix:single-symbol))
我收到的错误消息的前两行是:
Unhandled SB-INT:SIMPLE-READER-PACKAGE-ERROR:
Symbol "SINGLE-SYMBOL" not found in the SB-POSIX package.
我错过了哪些明显的修正?
答案 0 :(得分:4)
您的代码将变量single-symbol
绑定到sb-posix中每个外部符号的值。命名变量的符号位于当前包中(由cl:*package*
指定),而不是在sb-posix包中,不应使用sb-posix包前缀引用。