Переменные, связанные с простыми и составными полями


 

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

Таким образом, синтаксис ограничения, применяемого в образце, примет следующий вид:

 

Определение 6.8. Синтаксис ограничений

 

<ограничение> ::= <символьное-ограничение > |

? │

$? │

<переменная-простого-поля>|

<переменная-составного-поля>

<переменная-простого-поля> ::= ?<имя-переменной>

<переменная-составного-поля> ::= $?<имя-переменной>

 

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

 

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

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

В качестве примера введите в среду CLIPS следующее правило:



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


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

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

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

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