Определение 13.4. Синтаксис атрибута диапазона

<атрибут-диапазона>::= (range <граница-диапазона> <граница-диапазона>)

<граница-диапазона>::= <число> |? VARIABLE

Для задания границ диапазона могут использоваться числа как целого, так и вещественного типа. Первая граница диапазона определяет минимальное допустимое значение, которое может содержать соответствующий слот, вторая граница диапазона — максимальное. Для выполнения сравнения там, где это необходимо, целые числа временно переводятся в вещественные. В случае использования?variable в качестве первой границы диапазона, минимальным значением, которое может принимать соответствующий слот, считается отрицательная бесконечность (- ∞). В случае если ключевое слово?VARIABLE использовалось в качестве второй границы диапазона, макси­мальным допустимым значением слота считается положительная бесконечность (+ ∞). Атрибут диапазона range не может быть использован вместе с константными атрибутами allowed-values, allowed-numbers, allowed-integers, или allowed-floats.

Атрибут мощности

Атрибут мощности служит для ограничения числа полей, сохраняемых в составном поле. Этот атрибут нельзя использовать с простыми полями.

Определение 13.5. Синтаксис атрибута мощности

<атрибут-мощности>::= (cardinality <граница-мощности> <граница-мощности>)

<граница-мощности>::= <целое-значение> |?VARIABLE

В качестве границ мощности можно использовать только целые числа. Первое значение границы мощности определяет минимальное допустимое число полей, которые могут быть сохранены в слот, а второе значение границы мощности — максимальное число полей. В случае использования ключевого слова?variable в качестве первой границы мощности, минимальное допустимое количество полей, сохраненных в заданный слот, будет равняться нулю. Если в качестве второй границы атрибута мощности использовалось?variable, то максимальным допустимым числом полей слота считается по­ложительная бесконечность (+ ∞). В случае если для составного слота не задан атрибут мощности, то по умолчанию считается, что допустимая мощ­ность данного слота находится в диапазоне от нуля до бесконечности.

В CLIPS версии 5.1 поддерживались атрибуты min-number-of-elements и max-number-of-elements. В версии 6.0 эти атрибуты уже не поддерживаются. Вместо них необходимо применять атрибут мощности.


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



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