А.2.4.
Использование шаблонов
Для определения
фактов можно использовать не только списочные структуры, но и шаблоны, которые
напоминают простые записи. (Шаблоны в CLIPS не имеют ничего общего с шаблонами
C++.) Шаблон выглядит примерно так:
(deftemplate student "a student record"
(slot
name (type STRING)) (slot age (type NUMBER) (default 18))
Каждое определение
шаблона состоит из произвольного имени шаблона, необязательного комментария
и некоторого количества определений слотов. Слот включает поле данных, например
name, и тип данных, например STRING. Можно указать и значение по умолчанию,
как в приведенном выше примере.
Если в программу
включено приведенное выше определение шаблона, то выражение
(deffacts
students
(student
(name fred))
(student
(name freda) (age 19)) )
приведет к
тому, что в базу фактов после выполнения команды reset будет добавлено
(student (name fred) (age 18)) (student (name freda) (age 19))