假设我有以下类声明: (defclass foo-class () ((bar :initarg :bar :type list))) 当我创建该类的一个实例时,make-instance 不会检查传递的参数是否符合插槽类型。因此,我可以通过这种方式创建“无效”的对象...
我有以下的类: (defclass category () ((cat-channel-name :accessor cat-channel-name :initarg :cat-channel-name :initform "" :type string :docu...
我注意到,在阅读Keene的书时,defgeneric有一个:method选项,似乎允许您在通用定义本身中指定方法。我看到的大多数文档都将适用的方法定义在单独的defmethod中。通常很清晰的hyperspec将:method列为defgeneric的选项,但没有说明其含义。 :metho...
我正在学习Lisp编程,并阅读这个页面(http://landoflisp.com)。在点击“CLOS GUILD”链接后打开的页面上,倒数第二段中有如下一句话: “需要注意的是,在确定要调用给定情况下的哪个混合方法时,CLOS必须考虑传递到该方法中的两个对象。它会基于多个对象的类型来调度到...