(defclass A (is-a USER)
(role concrete)
(slot foo (create-accessor write))
(slot bar (create-accessor read)))
В классе A содержатся слоты foo и bar, причем для слота foo будет автоматически создан акцессор для записи нового значения в слот, а для слота bar — акцессор для чтения. Попробуйте создать объект класса A с инициализацией слота foo, а затем инициализацией слота bar. Вы должны получить результат, приведенный на рис. 11.10.
Рис. 11.10. Использование акцессоров
Как видно из рисунка, создание объекта b класса A с попыткой проинициализировать слот bar значением 45 не увенчалась успехом. CLIPS выдал сообщение об ошибке, в котором говорится, что CLIPS не нашел подходящего обработчика сообщений для инициализации слота bar. Другие примеры использования грани create-accessor и соответствующих обработчиков сообщений вы уже встречали в этой главе.