double arrow

Образец (pattern СЕ)

Этот условный элемент состоит из списка ограничений полей, групповых сим­волов (wildcards) и переменных, которые используются для поиска множества фактов или объектов, которые соответствуют заданному образцу. Таким об­разом, образец как бы определяет маску, которой должны соответствовать данные. Такой условный элемент удовлетворяется любым фактом или объ­ектом, соответствующим заданным ограничениям.

Ограничения полей — это набор ограничений, которые используются для проверки простых полей или слотов объектов. Ограничения полей могут состоять только из одного символьного ограничения, однако, несколько ограничений можно соединять вместе. В дополнение к символьным ограни­чениям, CLIPS поддерживает три других типа ограничений: объединяющие ограничения, предикатные ограничения и ограничения, возвращающие значения (см. гл. 13).

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

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

Первое поле любого образца обязательно должно быть значением типа symbol и не может принимать значения других типов. CLIPS использует первое поле для определения: является ли данный образец упорядоченным фактом, шаблоном или объектом. Ключевое слово object зарезервировано для создания образцов, предназначенных для сопоставления с объектами. Любое другое значение типа symbol должно соответствовать имени шаблона, созданного с помощью конструктора deftemplate или неявно созданного шаблона. Для задания имен слотов также должны использоваться значения типа symbol.

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

Далее будут показаны синтаксис и примеры использования образцов. В подразделе "Сопоставление образцов с объектами" разд. 6.5.1 будут объяснены отличия между образцами для шаблонов и образцами для объектов. Для обеспечения наглядности примеров в последующих разделах будут исполь­зоваться факты и шаблоны, приведенные в примере 6.6.


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



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