【发布时间】:2019-07-26 14:57:10
【问题描述】:
我正在尝试为 common lisp 实现 json 序列化 API。为了实现这一点,我定义了一个名为json-class 的元类。这个元类定义了插槽选项:ignore,用于忽略对象的特定插槽。由于我使用 yason 进行序列化过程,因此我想将方法 yason:encode-slots 专门用于使用元类 json-class 的类的每个对象。我能想到的唯一方法是让所有对象从json-object 类型的json-class 实例化,它可用于专门化方法。
我试图复制的行为与 MOP 已经实现的行为相同,该行为包含在每个类中,使用 standard-class 生成 standard-object 类型的对象。
【问题讨论】:
标签: lisp common-lisp clos mop