Пример 16.1. Использование команды save


(clear)

(deffunction example-1 ( )

(printout t "Function example 1 without parameters" crlf)
)

(deffunction example-2 (?a)

(printout t "Function example 2 with 1 parameter" crlf)

(printout t "Parameter = "?a crlf)

)

(deffunction example-3 (?a ?b)

(printout t "Function example 3 with 2 parameters" crlf)

(printout t "Parameter 1 = "?a crlf)

(printout t "Parameter 2 = "?b crlf)

)

(save "example-22.CLP")

После выполнения описанных выше действий откройте полученный файл example.CLP (например, с помощью программы Notepad (Блокнот) опера­ционной системы Windows). Полученный файл имеет содержание, пред­ставленное в примере 16.2.

Пример 16.2. Результат применения команды save

 

(deffunction MAIN::example-l ())

(deffunction MAIN::example-2 (?p0))

(deffunction MAIN::example-3 (?p0 ?pl))

 

(deffunction MAIN::example-1

( )

(printout t "Function example 1 without parameters" crlf))

(deffunction MAIN::example-2

(?a)

(printout t "Function example 2 with 1 parameter" crlf)

(printout t "Parameter = " ?a crlf))

(deffunction MAIN::example-3

(?a ?b)

(printout t "Function example 3 with 2 parameters" crlf)

(printout t "Parameter 1 = " ?a crlf)

(printout t "Parameter 2 = " ?b crlf))

Как видно из приведенного примера, в начале файла сохраняются предва­рительные определения всех функций — объявления их названий и списка необходимых параметров, без определения последовательности действий, выполняемых функциями. И только после предварительного определения всех функций, содержащихся в данный момент в системе, в текстовый файл помещают полные определения функции.

В случае успешного выполнения команда save возвращает значение true, в противном случае — false.

Кроме команд save и load, позволяющих сохранять и загружать конструкто­ры из текстовых файлов, CLIPS предоставляет аналогичные функции bsave и bload, использующие бинарные файлы. Формат этих функций приведен ниже.

Определение 16.3. Команды bsave и bload

(bsave <имя-файла>) (bload <имя-файла>)

Замечание

Бинарные файлы обладают определенными преимуществами. Они загружают­ся гораздо быстрее текстовых. Кроме того, формат бинарных файлов не зави­сит от платформы, на которой применяется CLIPS, и поэтому файлы могут ис­пользоваться, например, для переноса информации из UNIX-версии системы CLIPS в Windows-версию. Однако бинарные файлы обладают также и рядом недостатков. Во-первых, они имеют гораздо больший размер, чем текстовые файлы. Во-вторых, создание бинарных файлов возможно только с помощью выполнения команды bsave непосредственно в среде CLIPS. В-третьих, бинар­ные файлы не сохраняют текстовое определение конструкторов, поэтому для конструкторов, загруженных с помощью бинарных файлов, невозможно исполь­зование команд, предназначенных для вывода определения конструктора в диалоговое окно (например, ppdefrule, ppdeftemplate и т. д.). Кроме того, в бинарных файлах не сохраняется информация об ограничениях, ассоциированная с конструкторами, если включен режим динамической проверки ограни­чений.

Обе команды возвращают значение true, если в процессе выполнения не произошло ошибок, и значение FALSE — в противном случае.

Команда clear предназначена для очистки рабочей памяти системы. Она удаляет все определенные в системе на текущий момент конструкторы и ассоциированные с ними данные. Команда clear не возвращает никакого значения и имеет следующий формат:



Дата добавления: 2021-12-14; просмотров: 260;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.