(loop-for-count <диапазон> [do] <действие>*)
<диапазон>::= <максимальное-значение-индекса> |(<переменная-цикла> [<минимальное-
значение-индекса><максимальное-значение-индекса>]) | (<переменная-цикла> [<максимальное-значение-индекса>])
<минимальное-значение-индекса>::= <целочисленное-выражение>
<максимальное-значение-индекса>::= <целочисленное-выражение>
Цикл loop-for-count производит указанные действия некоторое количество раз согласно заданному параметру <диапазон>. Если параметр <минимальное-значение-индекса> не задан, ему автоматически присваивается 1. CLIPS предусматривает наличие параметра <переменная-цикла>, определяющего имя локальной переменной, которая может использоваться в теле цикла для определения текущего числа итераций. В теле цикла могут быть указаны любые внешние по отношению к циклу переменные (как глобальные, так и локальные). Однако при совпадении имени переменной цикла с какой-нибудь внешней переменной внешняя переменная скрывается. Использование переменной цикла после завершения работы функции loop-for-count вне тела цикла запрещено. Определение цикла может содержать необязательный символ do между условием и первым действием тела цикла. Если параметр <минимальное-значение-индекса> изначально больше параметра <максимальное-значение-индекса>, тело цикла не будет выполнено ни разу. Функции break и return могут быть использованы для экстренного прерывания работы цикла. В теле цикла может содержаться произвольное количество действий, включая вложенные циклы или функцию if. Функция loop-for-count возвращает значение false, если для экстренного прерывания ее работы не использовалась функция return. Пример функции loop-for-count приведен ниже (см. также рис. 15.19).
|
|