我敢肯定答案很明显,但是我将自己的头猛击。我正在尝试描述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.
我缺少什么明显的更正?
您的代码将变量single-symbol
绑定到SB-Posix中每个外部符号的值。命名变量的符号在当前软件包中(由cl:*package*
指定),而不是在SB-Posix软件包中,不应使用SB-Posix软件包前缀引用。