Пример 4.5. Значение типа fact-address

<Fact-XXX>

где XXX представляет собой индекс факта.

Объект в CLIPS представляет собой экземпляр определенного пользовате­лем класса. Для определения класса используется конструктор defclass (см. разд. 11.2). Для создания объекта используется функция make-instance. Ссы­латься на объект можно либо по адресу, либо, в рамках отдельного модуля (см. гл. 12), по имени объекта. Тип instance-name предназначен для хране­ния значения имени объекта. Для представления имени используется зна­чение типа symbol, окруженное квадратными скобками ([ и ]). Ниже приве­дено несколько примеров допустимых значений типа instance-name:

Пример 4.6. Значения типа instance-name

[pump-l] [foo] [+++] [123-890]

Замечание

Квадратные скобки не являются частью имени объекта, а служат своеобразны­ми ограничителями, которые позволяют системе отличать значение типа instance-name от значения типа symbol.

Тип instance-address предназначен для хранения значения, представляю­щего адрес объекта. Значение этого типа может быть получено посредством вызова функции instance-address или в результате выполнения операции сопоставления образцов в правиле (см. гл. 6). Ссылки на объект, с исполь­зованием значения типа instance-address, происходят значительно быстрее, чем ссылки по значению instance-name. Значения типа instance-address отображаются в CLIPS следующим образом:

Пример 4.7. Значение типа instance-address

<Instance-XXX>

где XXX — индекс объекта.

Место для хранения значения одного из примитивных типов в CLIPS назы­вается полем или простым полем. Константа представляет собой неизменяе­мое простое поле, заданное последовательностью символов (с помощью констант нельзя задавать значения типов external-address, fact-address и instance-address — значения этих типов могут быть получены только с по­мощью вызовов соответствующих функций и должны храниться в перемен­ных). Последовательность из 0 или более простых полей образует составное поле. Для вывода составного поля на экран CLIPS группирует данные тако­го поля с помощью круглых скобок. Несколько примеров составных полей приведено ниже:


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



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