table.getn

Returns the size of a numerically-keyed table

Prototype

n = table.getn (t)

Description

Returns the size of the table using the rules described at the start of this page.

A table's size (which is only relevant for "numeric" indexed tables) is one less than the first integer index with a nil value. If the table has "holes" in it - that is, numeric keys with gaps in the sequence - then the table size is not guaranteed to be the the last gap. Lua does a binary search to try to find a gap, it does not necessarily find the first or last one.

table.getn { "the", "quick", "brown", "fox", name = "Nick" } --> 4
Note that the length here is 4 and not 5, because the non-numeric entry (name = "Nick") is not considered to be part of the table's "length".

You can also use #t to find the length of a table.

# { "the", "quick", "brown", "fox", name = "Nick" } --> 4
Contrast to table.maxn which finds the highest key by a linear scan (and is therefore slower).

Lua functions

Topics