Пример 5.3. Применение конструктора deftemplate

(deftemplate MyObject

(slot name)

(slot location)

(slot weight)

(multislot contents))

Как и все конструкторы CLIPS, конструктор deftemplate не возвращает ни­какого значения. При вводе данной команды в CLIPS вы должны увидеть результат, приведенный на рис. 5.1.

Рис. 5.1. Использование конструктораdeftemplate

Подобная реакция среды говорит об удачном добавлении определения шаблона в систему. Для просмотра всех определенных в текущей базе зна­ний шаблонов можно воспользоваться командой get-deftemplate-list, речь о которой пойдет ниже, или специальным инструментом Deftemplate Manager (Менеджер шаблонов), доступным в Windows-версии среды CLIPS. Для за­пуска менеджера шаблонов воспользуйтесь меню Browse и выберите пункт Deftemplate Manager (рис. 5.2).

Менеджер шаблонов позволяет в отдельном окне просматривать список всех шаблонов, доступных в текущей базе знаний, удалять выбранный шаб­лон и отображать все его свойства (например, такие как имена и типы сло­тов). Внешний вид менеджера шаблонов представлен на рис. 5.3.

После выполненной нами операции в текущей базе знаний находится два шаблона, о чем сообщается в заголовке окна менеджера (Deftemplate Man­ager — 2 Items). Первый шаблон является предопределенным шаблоном initial-fact. Он не имеет слотов и всегда добавляется при запуске среды. Его нельзя удалить с помощью менеджера, или просмотреть его определе­ние. Назначение и примеры использования факта initial-fact будут рас­смотрены ниже. Вторым шаблоном является только что добавленный шаб­лон MyObject. Менеджер шаблонов позволяет вывести в главное окно среды его определение с помощью кнопки Pprint или удалить его из среды по­средством кнопки Remove. На рис. 5.4 приведен результат последовательных операций вывода информации об определении шаблона и удалении его из текущей базы знаний.

Рис. 5.2. Запуск менеджера шаблонов

Рис. 5.З. Окно менеджера шаблонов

Рис. 5.4. Получение информации и удаление шаблона

Флажок Watch позволяет включать/выключать режим отображения сообще­ний об использовании шаблонов для каждого присутствующего в системе шаблона в главном окне среды CLIPS. Если этот режим включен, пользова­тель будет получать сообщения при добавлении и удалении неупорядочен­ных фактов, использующих данный шаблон.

В случае, если при добавлении нового шаблона с помощью конструктора deftemplate произошла ошибка, пользователь получит соответствующее предупреждение. Полный список сообщений об ошибках в системе CLIPS приведен в приложениях 2 и 3.

Переопределение уже существующего шаблона приводит к исключению предыдущего определения. Шаблон не может быть переопределен до тех пор, пока он используется (например, фактом или правилом). Шаблон мо­жет иметь любое количество простых или составных слотов. CLIPS отличает простые и составные слоты в шаблоне. Например, будет ошибкой сохранять значение составного слота в простой слот.

Рассмотрим полный синтаксис конструктора deftemplate:


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



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