我有(至少)一个我的主程序所在的包。我有另一个用于运行测试的包。我:使用测试包的defpackage形式的主程序包,但只导入导出的符号。所以我不能测试所有的函数,只能测试我明确导出的那些(公共 API)。我该如何解决这个问题?
问问题
99 次
1 回答
7
您始终可以使用双冒号限定符引用内部(未导出)符号:
(package-name::function-name)
您还可以使用import
. 例如:
(import 'package-name::function-name)
(fboundp 'function-name) ;; => t
这是CLHS 上的条目import
。
另外,如果你还没有读过,我推荐 Practical Common Lisp 中的Programming in the Large: Packages and Symbols一章。它没有直接解决您的问题,但我提到它是因为我发现它对重新分级包和符号很有帮助。
于 2013-08-21T17:20:13.103 回答