next()
The next() function is used to retrieve the next key-value pair in a table iterator. It can be used to iterate through a table without relying on the pairs() or ipairs() functions directly. This function is particularly useful for custom iteration scenarios.
Syntax
next(table, key)
Parameters
- Name
table- Type
- table
- Description
The table from which to retrieve the next key-value pair.
- Name
key- Type
- string|number|nil
- Description
The current key from which to find the next key-value pair. If this is
nil, the function returns the first key-value pair in the table.
Return
Returns the next key and its corresponding value from the table. If there are no more key-value pairs, nil is returned.
Description
The next() function provides a low-level mechanism for iterating through a table. If called with a valid key, it returns the next key-value pair in the table. If called with nil as the key, it returns the first key-value pair in the table. It is important to note that the order of key-value pairs is arbitrary.
Examples
Iterating through a table using next
local myTable = {
name = "Bob",
age = 25,
job = "Artist"
}
local key, value = next(myTable)
while key do
print(key, value)
key, value = next(myTable, key)
end
-- Output:
-- name Bob
-- age 25
-- job Artist
Getting the first key-value pair
local colors = {
red = "#FF0000",
green = "#00FF00",
blue = "#0000FF"
}
local key, value = next(colors)
print(key, value) -- Output: one of the key-value pairs, e.g., red #FF0000
See also
pairs(): A higher-level function that usesnext()for iterating through all key-value pairs in a table.ipairs(): Iterates over the numeric indices of a table in order.