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