table Alt ←

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