Установка значений слотов
Правила, функции и любые другие конструкции CLIPS, которые являются внешним кодом по отношению к объекту, способны записывать новые значения слотов объекта только при помощи сообщений. Обработчики сообщений могут использовать для этих целей как сообщения, так и прямой доступ к слотам объекта. В случае прямого доступа к слоту для установки нового значения служит функция bind (см. разд. 11.4.2). CLIPS предоставляет несколько функций, которые могут неявно оперировать объектом при помощи сообщений, но такие функции могут быть вызваны только обработчиками сообщений. Пример использования сообщений для записи нового значения в слот объекта приведен на рис. 11.26.
Рис. 11.26.Установка значений слотов
Удаление объектов
С помощью сообщения delete объект удаляется из системы. В обработчике сообщения может быть использована функция delete-instance (см. гл. 15) для удаления активного объекта.
Определение 11.20. Удаление объекта
(send <объект> delete)
Примеры использования этого сообщения уже несколько раз приводились ранее в данной главе.
Задержка сопоставления образцов при работе с объектами
При работе с объектами (например, создании, изменении или удалении объектов) возможна задержка процесса сопоставления образцов, выполняемая для правил, до конца выполнения операции. Такая задержка может быть произведена искусственно и при выполнении других действий, с помощью функции object-pattern-match-delay, которая действует идентично функции prong (см. гл. 15). Однако процесс сопоставления образцов приостанавливается до завершения выполнения всех действий, заданных в функции object-pattern-match-delay. Основное назначение этой функции — предоставить контроль над выполнением процесса сопоставления образцов при осуществлении некоторых действий.
Определение 11.21. Синтаксис функции object-pattern-match-delay
(object-pattern-match-delay <действие>*)
Для демонстрации работы данной функции определите класс и правило, указанные в примере 11.21.
Дата добавления: 2021-12-14; просмотров: 274;