Difference between revisions of "Next"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | + | '''Available since:''' Gideros 2011.6<br/> | |
− | ''' | + | '''Class:''' [[(global)]]<br/> |
− | ''' | ||
− | === | + | === Description === |
− | + | 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. | + | 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 | + | 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''': (table) table to traverse<br/> |
− | '''index''': (number) | + | '''index''': (number) previous table index '''optional'''<br/> |
{{(global)}} | {{(global)}} |
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