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

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

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

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

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

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

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

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

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



Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 21.12.2024