Пример 5.7. Использование конструктора deffacts
(deffacts startup "Refrigerator Status"
(refrigerator light on)
(refrigerator door open)
(refrigerator temp (+ 5 10 15))
Обратите внимание, что третий факт содержит выражение, в данном примере сумму трех констант, но в качестве выражения, инициализирующего значение факта, могут использоваться и более сложные выражения, например, вызовы функций CLIPS или функций, определенных пользователем.]
Проверить работу конструктора deffacts можно воспользовавшись диалогом Watch Options.Для этого выберите пункт Watchменю Executionили используйте комбинацию клавиш <Ctrl>+<W>. В диалоговом окне Watch Optionsвключите режим просмотра изменения списка фактов, поставив галочку в поле Facts,как показано на рис. 5.7.
Рис. 5.7.Диалоговое окноWatch Options
После этого нажмите кнопку ОК и введите в CKIOS приведенный выше конструктор deffacts. Затем в меню Executionвыберите пункт Reset(комбинация клавиш <Ctrl>+<E>). Если пример был набран правильно, то на экране должны появиться сообщения, аналогичные приведенным на рис. 5.8.
Рис. 5.8.Просмотр процесса добавления файлов
Так же, как и для конструкторов deftemplate, CLIPS предоставляет визуальный инструмент для манипуляции с определенными в данный момент в системе конструкторами deffacts -- Deffacts Manager(Менеджер предопределенных фактов). Для запуска Deffacts Managerв меню Browseвыберите пункт Deffacts Manager.Внешний вид менеджера приведен на рис. 5.9.
Рис. 5.9.Окно менеджера предопределенных фактов
Менеджер отображает все введенные на текущий момент в систему конструкторы deffacts. В нашем случае это initial-fact, речь о котором пойдет ниже, и только что добавленный нами startup. Менеджер позволяет выводить в основное окно CLIPS информацию об определениях существующих в данный момент в системе конструкторов deffacts с помощью кнопки Pprint(кроме deffacts initial-fact) и удалять любой существующий конструктор. Пример вывода информации об определении конструктора deffacts startup приведен на рис. 5.10. Обратите внимание, что комментарии, введенные после имени конструктора, сохраняются и выводятся на экран так же, как в конструктореdeftemplate.
Рис. 5.10.Получение информации об определенном конструкторе
Во время запуска и после выполнения команды clear CLIPS автоматически конструирует следующие предопределенные шаблоны и факты:
Дата добавления: 2021-12-14; просмотров: 270;