Пример 5.5. Использование атрибутов значения по умолчанию


(deftemplate foo

(slot w (default ?NONE))

(slot x (default ?DERIVE))

(slot у (default (gensym*)))

(slot z (default-dynamic (gensym*))))

Синтаксис и функциональность <атрибута-ограничения> для простого и со­ставного слота детально описаны в гл. 13. В конструкторе deftemplate под­держивается проверка статических и динамических ограничений.

Статическая проверка выполняется во время использования определения шаблона некоторой командой или конструктором. Например, для записи значений в слоты шаблона. Иначе говоря, статическая проверка выполня­ется до запуска программы. При несоответствии используемых значений с установленными ограничениями пользователю выводится соответствую­щее предупреждение об ошибке.

Ссылка на индекс факта в командах на изменение значения факта или его дублирование не связывает факт с соответствующим шаблоном явно. Это делает статическую проверку неоднозначной. Поэтому в командах, исполь­зующих индекс факта, статическая проверка не выполняется.

Статическая проверка ограничений включена по умолчанию. Эту установку среды CLIPS можно изменить с помощью функции set-static-constraint-checking.

Помимо статической, CLIPS также поддерживает динамическую проверку ограничений. Если режим динамической проверки ограничений включен, го все новые факты, созданные с использованием некоторого шаблона и имеющие определенные значения, проверяются в момент их добавления в список фактов.

В случае если нарушение заданных ограничений произойдет в момент вы­полнения динамической проверки в процессе выполнения программы, то выполнение программы прекращается и пользователю будет выдано соот­ветствующее сообщение.

По умолчанию в CLIPS отключен режим динамической проверки ограни­чений. Эту среду установки можно изменить с помощью функции set-dynamic-constraint-checking.

Помимо описанных выше функций для изменения состояний режимов ста­тической и динамической проверки ограничений, пользователям Windows-версии среды CLIPS доступен визуальный способ настройки этих устано­вок. Для этого необходимо открыть диалоговое окно Execution Options, вы­брав пункт Options из меню Execution. Внешний вид этого диалогового окна приведен на рис. 5.6.

 

Рис. 5.6.Диалоговое окноExecution Options

Для включения или выключения необходимых режимов проверки ограни­чений атрибутов выставите в соответствующее положение флажки Static Constraint Checking и Dynamic Constraint Checking и нажмите кнопку ОК.

Ниже приведен пример использования атрибутов ограничения типа:



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


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

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

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

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