Определение 16.18. Команды save-facts и load-facts
(save-facts <имя-файла> [<границы> <имена-конструкторов-deftemplate>*]) <границы>::= visible │ local (load-facts <имя-файла>) Необязательный параметр <границы> команды save-facts позволяет установить границы видимости сохраняемых фактов. Если этот параметр принимает значение local (значение по умолчанию), команда save-facts сохраняет только те определенные в текущем модуле факты, конструкторы deftemplate которых также определены в данном модуле. Если параметр принимает значение visible, то сохраняются все факты, видимые в текущем модуле. Кроме границ видимости сохраняемых фактов пользователь имеет возможность задать список конструкторов deftemplate. В этом случае команда save-facts сохранит факты только заданных шаблонов. Команда load-facts позволяет загружать созданный ранее текстовый файл со списком фактов. Обычно подобный файл получается с помощью команды save-facts, хотя он может быть создан и вручную посредством любого тестового редактора, поддерживающего формат ASCII. Каждый факт в текстовом файле должен располагаться на отдельной строке и заключаться в круглые скобки. В случае шаблонов имена и значения каждого слота также должны обрамляться скобками. Замечание При загрузке фактов, соответствующих определенным шаблонам, необходимо, чтобы в момент выполнения команды load-facts все используемые шаблоны уже были определены. Команды set-fact-duplication и get-fact-duplication предназначены для установки и проверки режима дублирования фактов. Если данный режим выключен (значение false), что является установкой по умолчанию, то CLIPS запрещает добавлять в систему факты с одинаковыми именами. Команда set-fact-duplication использует заданное логическое выражение для установки текущего значения режима дублирования фактов и возвращает предыдущее установленное значение. Команда get-fact-duplication выводит в диалоговое окно системы текущее установленное значение этого режима. Синтаксис этих команд приведен ниже. Определение 16.19. Команды set-fact-duplication и get-fact-duplication (set-fact-duplication <логическое-выражение>) (get-fact-duplication) 16.4. Работа с конструкторами deffacts Название команд, предназначенных для работы с конструкторами deffacts, и их краткое описание приведены в табл. 16.4. Таблица 16.4. Команды работы с конструкторами deffacts
Команда ppdeffacts выводит в диалоговое окно системы определение заданного Конструктора deffacts. Определение 16.20. Команда ppdeffacts (ppdeffacts <имя-конструктора>) Команда list-deffacts предназначена для отображения в диалоговом окне списка имен всех определенных в системе конструкторов deffacts. Определение 16.21. Команда list-deffacts (list-deffacts [<имя-модуля>]) Если необязательный параметр <имя-модуля> не задан, то данная команда выводит список имен всех конструкторов deffacts, определенных в текущем модуле. Если параметр содержит имя конкретного модуля, команда list-deffacts выводит список конструкторов, определенных в заданном модуле. В качестве параметра допускается использование символа *. В этом случае команда выведет список имен всех конструкторов deffacts, определенных во всех модулях системы. Для удаления определенных пользователем конструкторов deffacts предназначена команда undeffacts. Определение 16.22. Команда undeffacts (undeffacts <имя-конструктора>) В качестве параметра <имя-конструктора> возможно использование символа*. В этом случае команда попытается удалить все определенные пользователем Конструкторы deffacts.
|