API foreach

From Warcraft Wiki
Jump to navigation Jump to search

Apply the function f to the elements of the table passed. On each iteration the function f is passed the key-value pair of that element in the table.

table.foreach(tab, func);
foreach(tab, func);

From TableLibraryTutorial of lua-users.org.

> table.foreach({1,"two",3}, print) -- print the key-value pairs
1       1
2       two
3       3
> table.foreach({1,"two",3,"four"}, function(k,v) print(string.rep(v,k)) end)
1
twotwo
333
fourfourfourfour

If the function f returns a non-nil value the iteration loop terminates.

> table.foreach({1,"two",3}, function(k,v) print(k,v) return k<2 and nil end)
1       1
2       two

Tables can contain mixed key-value and index-value elements. table.foreach() will display all of the elements in a table. To only display the index-value elements see table.foreachi(). For more information about this subject see the TablesTutorial.

> t = { 1,2,"three"; pi=3.14159, banana="yellow" }
> table.foreach(t, print)
1       1
2       2
3       three
pi      3.14159
banana  yellow