通用lisp中的匿名方法



我想将一个泛型函数保存为变量:

(defvar *gf* (make-instance 'standard-generic-function)

但是当添加一个方法时,我必须自己定义call-next-methodnext-method-p:

(add-method *gf*
            (make-instane 'standard-method
                          :function (lambda (args next-methods)
                                      (flet ((call-next-method () ...)
                                             (next-method-p () ...))
                                        (apply (lambda () ...) args)))))

如何调用方法来定义call-next-method ?有更简单的方法吗?

参见MAKE-METHOD-LAMBDA。

如果你谷歌一下,你会发现关于这个函数的各种信息。例如,MAKE-METHOD-LAMBDA被认为是有害的

相关内容

  • 没有找到相关文章

最新更新