foreach. Последовательный перебор всех строк таблицы   [3.4.3]

^таблица.foreach[позиция;значение]{код}  
^таблица.foreach[позиция
;значение]{код}[разделитель]
^таблица.foreach[позиция
;значение]{код}{разделитель}

Перебирает все строки таблицы.
Метод аналогичен foreach класса hash.

позиция - имя переменной, которая возвращает номер строки (отсчёт начинается с 0)
значение - имя переменной, которая возвращает текущую строку
тело - код, исполняемый для каждой строки
разделитель - код, который вставляется перед каждым непустым не первым телом

Замечание: если разделитель задан в виде кода, то этот код выполняется после следующего не пустого тела цикла.
Замечание: для уменьшения расхода памяти и ускорения в переменной
значение возаращается не отдельная строка, а вся таблица, у которой установлена текущая строка.

В любой момент можно принудительно выйти из цикла с помошью оператора
break, или принудительно закончить текущую итерацию и перейти к следующей с помощью оператора continue.

Пример
$man[^table::create{name   value
name   Вася
age   22
sex   m
}]
^man.foreach[pos;row]{
   $pos $row.name=$row.value
}[<br />]

Выведет на экран:
0 name=Вася
1 age=22
2 sex=m



In order to add comments you must register.
Copyright © 1997–2021 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 22.10.2013