(do-for- all-instances
((?man-or-boy MALE) (?woman-or-girl FEMALE))
(=?man-or-boy:age?woman-or-girl:age)
(printout t "("?man-or-boy ","?woman-or-girl ")" crlf))
В данном примере:
Ø do-for-all-instances — одна из функций CLIPS, работающая с наборами объектов (функции будут рассмотрены ниже);
Ø ((?man-or-boy MALE) (?woman-or-girl FEMALE)) — шаблон, определяющий набор из пар объектов противоположного пола;
Ø (=?man-or-boy:age?wornan-or-girl:age) — запрос, отбирающий только пары одного возраста;
Ø (printout t "("?man-or-boy ","?woman-or-girl ")" crlf) — действия, выводящие пары найденного набора на экран.
Результат выполнения данного выражения представлен на рис. 11.31.
Рис. 11.31. Результат выполнения функции do-for-all-instances над заданным набором
Функции-запросы
CLIPS предоставляет 6 функций (табл. 11.2), способных оперировать с наборами объектов. Эти функции называются функциями-запросами наборов объектов.
Таблица 11.2. Функции для операций над наборами объектов
______________________________________________________________________________________________