Класс table

Предназначен для работы с таблицами строк.

Краткое описание

Таблица считается определенной (def), если она не пуста. Числовое значение равно количеству строк таблицы.

Получение содержимого столбца

$таблица.поле

Возвращает содержимое столбца поле из текущей строки таблицы.

До версии 3.4.4 эта же запись могла быть использована для получения методов таблицы. Начиная с версии 3.4.4 обращение к методам таблицы возможно только при их вызове ^таблица.method[], причем методы имеют приоритет перед полями.

Пример

$таблица.name

Вернет значение, определенное в столбце name текущей строки таблицы.


Изменение содержимого столбца

$таблица.поле[новое_значение]

Изменяет содержимое столбца поле текущей строки таблицы на заданную строку. [3.4.4]

Пример

$таблица.name[Мыло]

Установит значение Мыло в столбец name текущей строки таблицы.


Получение содержимого текущей строки в виде хеша

$таблица.fields — содержимое текущей строки таблицы в виде хеша (для nameless-таблиц доступно начиная с версии 3.4.0).

Возвращает содержимое текущей строки таблицы в виде хеша. При этом имена столбцов становятся ключами хеша, а значения столбцов — соответствующими значениями ключей.

Использовать этот метод необходимо, если имена столбцов совпадают с именами методов или конструкторов класса table. В таком случае получить их значения напрямую нельзя: Parser будет выдавать сообщение об ошибке. Если необходимо работать с полями, которые называются именно так, можно воспользоваться полем fields и далее работать уже не с таблицей, а с хешем.

Пример

$tab[^table::create{menu	line
yes	first
no	second
}]

$tab_hash[$tab.fields]
$tab_hash.menu
$tab_hash.line

В результате будут выведены значения полей menu и line (имена которых совпадают с именами методов класса table) как значения ключей хеша tab_hash.