Метод 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