Определение 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 вы­водит в диалоговое окно системы текущее установленное значение этого режима. Синтаксис этих команд приведен ниже.


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



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