{* форма 1 *}
{? for <var> in <array>;
<body>
[else <elsebody>]
end ?}
{* форма 2 *}
{? for <var> = <expression1> while <condition> next <expression2>;
<body>
[else <elsebody>]
end ?}
Переборный цикл. Выполняет действия <body>
для каждого элемента в массиве <array>
, доступ к текущему перебираемому элементу осуществляется через переменную <var>
.
Если элементов для перебора нет, то выполяется действие <elsebody>
блока else
.
{? for msg in messages ?}
<div>{{msg.author}}: {{msg.text}}</div>
{? else ?}
<div>Сообщений нет</div>
{? end ?}
Цикл со счетчиком. Инициализирует переменную <var>
начальным значением, вычесленным в <expression>
, и выполняет действия <body>
до тех пор, пока истинно условие <condition>
. В конце каждой итерации цикла вычисляется выражение <expression2>
, в котором обычно происходит инкремент переменной <var>
на единицу.
Если ни одной итерации цикла не произошло, то выполяется действие <elsebody>
блока else
.
{? for i = 0 while i < 5 next i += 1 ?}
<div>Элемент {{i}}: {{elements[i]}}</div>
{? else ?}
<div>Элементов нет</div>
{? end ?}