(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 <имя-файла>)