Грань активности при сопоставлении образцов

Обычно любое изменение слота экземпляра объекта рассматривается как изменение с целью сопоставления образцов. Однако существует возможность указать, что изменения слота объекта не должно вызывать процесс сопоставления образцов. Для этой цели служит грань pattern-match. Значение reactive определяет, что изменения слота активизируют процесс сопоставления образцов. Эта установка принята по умолчанию. Значение non-reactive указывает, что изменения слота не приведут к активизации процесса сопоставления образцов. Рассмотрим пример 11.23. Создайте классы А и В.

Пример 11.23. Использование грани активности

(defclass A (is-a USER)

(role concrete)

(pattern-match reactive)

(slot foo (create-accessor write)

(pattern-match non-reactive)))

(defclass В (is-a USER)

(role concrete)

(pattern-match reactive)

(slot foo (create-accessor write)

(pattern-match reactive)))

После это добавьте следующие правила:


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



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