Difference between revisions of "Next"

From GiderosMobile
(removed language stuff)
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
=== Description ===
 
=== Description ===
Allows a program to traverse all fields of a table. 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.
+
Allows a program to traverse all fields of a table.
 +
<syntaxhighlight lang="lua">
 +
next(table,index)
 +
</syntaxhighlight>
 +
 
 +
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 [[Special:MyLanguage/ipairs|ipairs]] function.)
+
  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.
+
  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.
<source lang="lua">
 
next(table,index)
 
</source>
 
  
 
=== Parameters ===
 
=== Parameters ===

Latest revision as of 14:30, 13 July 2023

Available since: Gideros 2011.6
Class: (global)

Description

Allows a program to traverse all fields of a table.

next(table,index)

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