Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример 15.34. Использование функций slot-allowed-values и slot-range






(clear)

(defclass A (is-a USER)

(slot x)

(slot у (allowed-integers 2 3)

(allowed-symbols foo)))

(defclass В (is-a USER)

(slot x)

(slot у (type SYMBOL))

(slot z (range 3 10)))

(slot-allowed-values A x)

(slot-allowed-values A y)

(slot-range В x)

(slot-range В у)

(slot-range В z)

Функция slot-default-value возвращает значение, по умолчанию связанное с заданным слотом. Если слот имеет динамическое значение по умолчанию, результат вычисляется в момент вызова функции. Значение false возвраща­ется в том случае, если произошла ошибка.

Рис. 15.31. Использование функций slot-allowed-values и slot-range

 

Определение 15.R6. Функция slot-default-value

(slot-default-value < имя-класса> < имя-слота>)

Функция next-handlerp осуществляет проверку наличия скрытых обработ­чиков сообщений и возвращает значение true, если такой обработчик суще­ствует, в противном случае функция возвращает значение FALSE.

Определение 15.87. Функция next-handlerp

(next-handlerp)

 

Если функция next-handlerp дала положительный результат, то обнаружен­ный скрытый обработчик можно вызвать при помощи функции call-next-handler. Скрытому обработчику передаются те же аргументы, что и вызы­вающему обработчику. Обработчик может продолжать свою работу после вызова функции call-next-handler. Кроме того, возможен множественный вызов функции call-next-handler, в этом случае скрытый обработчик будет вызываться нужное количество раз. Результатом работы данной функции служит результат вызванного скрытого обработчика или значение false в случае ошибки.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2026 год. (0.531 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал