标签: common-lisp
我正在尝试编写一个获取类(或类名)列表的函数,并返回一个将所有给定类作为超类的类。当两次给出相同的列表时,这应该再次返回相同的类,所以我使用哈希表进行memoization。 我不能为此目的使用defclass,因为它不评估它的DIRECT-SUPERCLASSES参数。我没有在HyperSpec中找到任何相应的功能。 我有什么方法可以轻松地做到这一点吗?
答案 0 :(得分:5)
只需创建DEFCLASS表单并使用EVAL进行评估。
您也可以使用CLOS功能ENSURE-CLASS。