Функция Назначение

______________________________________________________________________________________________

any-instancep Определяет, удовлетворяет ли запросу один или более наборов объектов

find-instance Возвращает первый объект из набора удовлетворяющему

запросу

find-all-instance Группирует и возвращает все наборы объектов,

удовлетворяющих запросу

do-for-instance Выполняет действия для первого набора объектов,

удовлетворяющих запросу

do-fo-all-instance Выполняет действия для каждого набора объектов,

удовлетворяющих запросу

delayed-do-for-all-instance Группирует все наборы объектов, удовлетворяю­щие запросу, и выполняет действия над этой группой

____________________________________________________________________________________

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

Пользователь имеет возможность прерывать выполнение некоторых из указанных функций и возвращать при этом какой-то результат. Для этого служат функции break и return, которые можно использовать внутри функций do-for-instance, do-for-all-instance и delayed-do-for-all-instances. Функция break фактически прерывает выполнение запроса, а функция return помогает вернуть некоторое значение.

Функция any-instancep выполняет проверку удовлетворения запроса каким-либо набором объектов. Она применяет запрос к каждому набору объектов, который соответствует шаблону. Если набор объектов удовлетворяет запросу, то функция немедленно прекращается и возвращает значение TRUE. В противном случае — FALSE.

Определение 11.34. Синтаксис функции any-instancep

(any-instancep <шаблон-набора-объектов> <запрос>)

Например, вызов функции any-instancep из примера 11.53 определяет, существует ли в системе объект класса man с возрастом больше 30 лет. С нашими данными функция вернет значение TRUE.

Пример 11.53. Использование функции any-instancep

(any-instancep ((?man MAN)) (>?man:age 30))

Функция find-instance находит набор объектов, удовлетворяющий заданному запросу. Эта функция применяет запрос к каждому набору объектов, соответствующему шаблону. Если набор объектов удовлетворяет запросу, то работа функции немедленно прекращается, и она возвращает набор объектов в виде составного значения. Каждое поле составного значения является именем объекта из набора объектов. В случае если нужный набор не найден, функция возвращает составное значение нулевой длины.


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



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