gpt4 book ai didi

lisp - 如何在lisp中找到一个类的包?

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:56 24 4
gpt4 key购买 nike

假设我想找出在哪个包中定义了一个类,例如说 (defclass x ()()) 在 p1 中定义。一种方法是通过 (symbol-package 'x) 获取包。这个解决方案的问题是 x 在不同的包 p2 中导出。还有其他建议吗?

最佳答案

正如 Rainer Joswig 所说,类不是在包中定义的;符号有包,类名就是一个符号。

如果您想知道读取、编译或加载类定义时 *PACKAGE* 的值(这可能是三个不同的值),我不相信有任何检索它的方法,除非您当时编写代码来存储它。

此外,它看起来不像是一条有意义的信息。包只是符号的命名空间,读取、编译或加载类定义时的包没有理由与类本身有任何关系。

但是,如果您真正想要的是类 x 的名称驻留在包 p1 中,但 p2 导出它,您可能有兴趣将 x 添加到 shadow 中。 defpackage 中的 p1 列表形式(或之后)。

关于lisp - 如何在lisp中找到一个类的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9370719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com