Difference between revisions of "Next"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Allows a program to traverse all fields of a table.
 
Allows a program to traverse all fields of a table.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
next(table,index)
 
next(table,index)
 
</source>
 
</source>

Revision as of 14:28, 13 July 2023

Available since: Gideros 2011.6
Class: (global)

Description

Allows a program to traverse all fields of a table. <syntaxhighlight lang="lua"> next(table,index) </source>

Its first argument is a table and its second argument is an index in this table. next returns the next index of the table and its associated value.

  • when called with nil as its second argument, next returns an initial index and its associated value
  • when called with the last index, or with nil in an empty table, next returns nil
  • if the second argument is absent, then it is interpreted as nil. In particular, you can use next(t) to check whether a table is empty.
The order in which the indices are enumerated is not specified, even for numeric indices. To traverse a table in numeric order, use a numerical for or the ipairs function.
The behavior of next is undefined if, during the traversal, you assign any value to a non-existent field in the table. You may however modify existing fields, in particular, you may clear existing fields.

Parameters

table: (table) table to traverse
index: (number) previous table index optional