3

汎用関数を変数として保存したい:

(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ですか? これを行う簡単な方法はありますか?

4

1 に答える 1