Skip to content

Latest commit

 

History

History
42 lines (38 loc) · 1.69 KB

for.md

File metadata and controls

42 lines (38 loc) · 1.69 KB

Синтаксис

{* форма 1 *}
{? for <var> in <array>;
	<body>
[else <elsebody>]
end ?}
{* форма 2 *}
{? for <var> = <expression1> while <condition> next <expression2>;
	<body>
[else <elsebody>]
end ?}

Описание

Форма 1

Переборный цикл. Выполняет действия <body> для каждого элемента в массиве <array>, доступ к текущему перебираемому элементу осуществляется через переменную <var>. Если элементов для перебора нет, то выполяется действие <elsebody> блока else.

Пример

{? for msg in messages ?}
	<div>{{msg.author}}: {{msg.text}}</div>
{? else ?}
    <div>Сообщений нет</div>
{? end ?}

Форма 2

Цикл со счетчиком. Инициализирует переменную <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 ?}