Пример 13.2. Использование шаблона с ограничениями в правиле

(degrule error

(bar (a?х))

(bar (b?x))

(bar (с?х))
=>)

Результат выполнения этих действий приведен на рис. 13.2.

Появление переменной?х в первом образце правила error определяет до­пустимые типы этой переменной по ограничениям типов для слота a. Пе­ременная?х может содержать значения либо типа symbol, либо типа integer. Использование переменной?х во втором образце правила добавля­ет дополнительное ограничение на тип переменной?х. Теперь переменная может принимать значения только типа integer. Указание переменной в третьем образце правила приводит к ошибке, т. к. слот с может содержать значения либо типа symbol, либо типа string, а переменная? х, которая ставится в соответствие слоту с, должна содержать значения типа integer.

Рис. 13.2. Использование шаблона с ограничениями в правиле

Рассмотрим пример 13.3.


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



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