Табличные функции


table.concat (table [, sep [, i [, j]]])

Задан массив в котором все элементы – строки или числа, возвращает
table[i]..sep..table[i+1] ··· sep..table[j].
Значение по умолчанию для sep – пустая строка,
значение по умолчанию для i – 1, а для j – длина таблицы.
Если i больше j, функция возвращает пустую строку.

table.insert (table, [pos,] value)

Вставляет элемент в позицию pos в table, сдвигая вверх остальные элементы.
Значение по умолчанию для pos равно n+1, где n это длина таблицы,
т.о.вызов table.insert(t,x) добавляет x в конец таблицы t.

table.maxn (table)

Возвращает наибольший положительный числовой индекс заданной таблицы,
или zero если таблица не имеет положительных числовых индексов.
(Для выполнения запроса эта функция перебирает все индексы таблицы.)

table.remove (table [, pos])

Удаляет из table элемент в позиции pos, сдвигая вниз остальные элементы,
если это необходимо. Возвращает значение удаленного элемента.
Значение по умолчанию для – n, где n – длина таблицы,
т.о. вызов table.remove(t) удаляет последний элементы таблицы t.
(Примечание: использование insert-remove со значениями по умолчанию
позволяет работать с таблицей как со стандартным LIFO – стеком)

table.sort (table [, comp])

Сортирует элементы таблицы в заданном порядке, внутри таблицы,
начиная с table[1] и заканчивая table[n], где n – длина таблицы.
Если параметр comp задан, то он должен быть функцией, которая для
двух получаемых параметров возвращает true если первый из них меньше второго
(т.о. not comp(a[i+1],a[i]) будет верно для любого i будет давать true после
окончания сортировки). Если comp не задан, то вместо него будет
использован стандартынй оператор Lua "<".