Определение 15.89. Функция override-next-handler

(override-next-handler <выражение>*)

Ниже приведены примеры использования функций call-next-handler и override-next-handler (см. также рис. 15.32).

Рис. 15.32. Использование функций call-next-handler и override-next-handler

Пример 15.35. Использование функций call-next-handler и override-next-handler

(clear)

(defclass A (is-a USER) (role concrete))

(defmessage-handler A print-args ($?any)

(printout t "A: "?any crlf)

(if (next-handlerp) then

(call-next-handler)))

(defmessage-handler USER print-args ($?any)

(printout t "USER: "?any crlf))

(make-instance a of A)

(send [a] print-args 1234)

(defmessage-handler A print-args ($?any)

(printout t "A: "?any crlf)

(if (next-handlerp) then

(override-next-handier (rest$?any))))

(send [a] print-args 1234)

Для получения всех конструкторов definstances, определенных в задан­ном модуле, предназначена функция get-definstances-list. Функция def instances-module служит для определения модуля, в котором использует­ся заданный конструктор definstances. Синтаксис этих функций приведен ниже.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: