WoW:API foreachi: Difference between revisions
(Use Lua/Libshortcut template. Change category from "LUA Functions" to "Lua functions".) |
m (Move page script moved page API foreachi to API foreachi without leaving a redirect) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{luaapi}} | ||
From [http://lua-users.org/wiki/TableLibraryTutorial TableLibraryTutorial] of lua-users.org. | From [http://lua-users.org/wiki/TableLibraryTutorial TableLibraryTutorial] of lua-users.org. | ||
table.foreachi(table, f) | table.foreachi(table, f) | ||
foreaci(table, f) | |||
Apply the function f to the elements of the table passed. On each iteration the function f is passed the index-value pair of that element in the table. This is similar to table.foreach() except that index-value pairs are passed, not key-value pairs. If the function f returns a non-nil value the iteration loop terminates. | Apply the function f to the elements of the table passed. On each iteration the function f is passed the index-value pair of that element in the table. This is similar to table.foreach() except that index-value pairs are passed, not key-value pairs. If the function f returns a non-nil value the iteration loop terminates. | ||
Line 14: | Line 15: | ||
Note in the example only the indexed elements of the table are displayed. See the TablesTutorial for more information on key-value and index-value pairs. | Note in the example only the indexed elements of the table are displayed. See the TablesTutorial for more information on key-value and index-value pairs. | ||
{ | Also note that foreachi starts at index [1], increments the index by one repeatedly, and stops running as soon as it reaches a nil value. This is an example: | ||
> t = { [0] = "zero", --will not be counted | |||
[1] = "one", --will be counted; 1 | |||
[2] = "two", --will be counted; 2 | |||
[3] = "three", --will be counted; 3 | |||
["four"] = "four", --will not be counted; returns 3 | |||
[5] = "five" } --will never be reached | |||
> foreachi(t, print) | |||
1 one | |||
2 two | |||
3 three | |||
In the above, it starts at t[1] (''not'' t[0]) and counts to t[3], printing the corresponding values along the way. It then checks t[4], sees it is nil, and stops running. t[5] is never checked - this ''will not hit every array index in a table, only the consecutive ones from one up until it hits its first blank index.'' |
Latest revision as of 04:45, 15 August 2023
← WoW Lua
From TableLibraryTutorial of lua-users.org.
table.foreachi(table, f) foreaci(table, f)
Apply the function f to the elements of the table passed. On each iteration the function f is passed the index-value pair of that element in the table. This is similar to table.foreach() except that index-value pairs are passed, not key-value pairs. If the function f returns a non-nil value the iteration loop terminates.
> t = { 1,2,"three"; pi=3.14159, banana="yellow" } > table.foreachi(t, print) 1 1 2 2 3 three
Note in the example only the indexed elements of the table are displayed. See the TablesTutorial for more information on key-value and index-value pairs.
Also note that foreachi starts at index [1], increments the index by one repeatedly, and stops running as soon as it reaches a nil value. This is an example:
> t = { [0] = "zero", --will not be counted [1] = "one", --will be counted; 1 [2] = "two", --will be counted; 2 [3] = "three", --will be counted; 3 ["four"] = "four", --will not be counted; returns 3 [5] = "five" } --will never be reached > foreachi(t, print) 1 one 2 two 3 three
In the above, it starts at t[1] (not t[0]) and counts to t[3], printing the corresponding values along the way. It then checks t[4], sees it is nil, and stops running. t[5] is never checked - this will not hit every array index in a table, only the consecutive ones from one up until it hits its first blank index.