3

我想将通用函数保存为变量:

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

call-next-method但是当添加一个方法时,我必须next-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?有没有更简单的方法来做到这一点?

4

1 回答 1

2

请参阅MAKE-METHOD-LAMBDA

如果你用谷歌搜索它,你会找到关于该功能的各种信息。例如MAKE-METHOD-LAMBDA 被认为是有害的

于 2015-06-09T18:48:00.750 回答