Определение 5.4. Предопределенные шаблоны и факты
(deftemplate initial-fact)
(deffacts initial-fact
(initial-fact))
Предопределенный факт initial-fact шаблона initial-fact предоставляет удобный способ для запуска программ на языке CLIPS — правила, не имеющие условных элементов, автоматически преобразуются в правила с условием, проверяющим наличие факта initial-fact. Факт initial-fact можно обрабатывать так же, как и все остальные факты CLIPS, добавленные пользователем или программой с помощью команды assert. Пример использования факта initial-fact будет приведен в следующей главе, сразу после первого знакомства с правилами CLIPS.
5.2.3. Функция assert
Функция assert - одна из наиболее часто применимых команд в системе CLIPS. Без использования этой команды нельзя написать даже самую простую экспертную систему и запустить ее на выполнение в среде CLIPS. Функции Assert, retract и modify — три рабочие лошадки, используемые большинством правил.
Функция assert позволяет добавлять факты в список фактов текущей базы знаний. Каждым вызовом этой функции можно добавить произвольное число фактов. В случае если был включен режим просмотра изменения списка фактов (как было описано в разд. 5.2.2), то соответствующее информационное сообщение будет отображаться в окне CLIPS при добавлении каждого факта.
Определение 5.5. Синтаксис команды assert
(assert <факт>+)
При использовании команды assert необходимо помнить, что первое поле факта обязательно должно быть значением типа symbol. В случае удачного добавления фактов в базу знаний, функция возвращает адрес последнего добавленного факта. Если во время добавления некоторого факта произошла ошибка, команда прекращает свою работу и возвращает значение false.
Слотам неупорядоченного факта, значения которых не заданы, будут присвоены значения по умолчанию (см. разд. 5.2.1).
: