在运行时定义类

时间:2013-04-01 14:06:37

标签: common-lisp

我正在尝试编写一个获取类(或类名)列表的函数,并返回一个将所有给定类作为超类的类。当两次给出相同的列表时,这应该再次返回相同的类,所以我使用哈希表进行memoization。 我不能为此目的使用defclass,因为它不评估它的DIRECT-SUPERCLASSES参数。我没有在HyperSpec中找到任何相应的功能。 我有什么方法可以轻松地做到这一点吗?

1 个答案:

答案 0 :(得分:5)

只需创建DEFCLASS表单并使用EVAL进行评估。

您也可以使用CLOS功能ENSURE-CLASS。