table - table manipulation functions (standard library)¶
OVERVIEW¶
This library provides generic functions for table manipulation. It
provides all its functions inside the table table
.
Most functions in the table library assume that the table represents an array or a list. For these functions, when we talk about the “length” of a table we mean the result of the length operator.
INTERFACE¶
-
table.concat
()¶
table.concat (table [, sep [, i [, j]]])
Given an array where all elements are strings or numbers,
returns table[i]..sep..table[i+1] . . . sep..table[j]
.
The default
value for sep
is the empty string, the default for i
is 1, and
the default for j
is the length of the table. If i
is greater
than j
, returns the empty string.
-
table.insert
()¶
table.insert (table, [pos,] value)
Inserts element value
at position pos
in table
, shifting up
other elements to open space, if necessary. The default value for
pos
is n+1
, where n
is the length of the table (see
2.5.2. Relational Operators), so that
a call table.insert(t,x)
inserts x
at the end of table t
.
-
table.maxn
()¶
table.maxn (table)
Returns the largest positive numerical index of the given table, or zero if the table has no positive numerical indices. (To do its job this function does a linear traversal of the whole table.)
-
table.remove
()¶
table.remove (table [, pos])
Removes from table
the element at position
pos
, shifting down other elements to close the space, if
necessary. Returns the value of the removed element. The default
value for pos
is n
, where n
is
the length of the table, so that a call table.remove(t)
removes the last element of table t
.
-
table.sort
()¶
table.sort (table [, comp])
Sorts table elements in a given order, in-place, from table[1]
to table[n]
, where n
is the length of the table. If comp
is
given, then it must be a function that receives two table elements,
and returns true when the first is less than the second (so that not
comp(a[i+1],a[i])
will be true after the sort). If comp
is not
given, then the standard Lua operator <
is used instead.
The sort algorithm is not stable; that is, elements considered equal by the given order may have their relative positions changed by the sort.
This document is from Lua version 5.1.5. Copyright (c) 2006-2012 Lua.org, PUC-Rio. Freely available under the terms of the Lua license.