Lua for loops

This article is tagged with: Lua for loops and lua

lua for loops

--[[
There are two types of lua for loops.
There is the generic definition, (pseudo-)expression, increment,
and there is one that allows the use of iterators.
]]
-- The first kind can be used like this:
for a = 0 --[[Define a as 0]], 10 --[[Continue until a reaches 10]], 2 --[[Increment by 2 each iteration]] do
print(a); -- 0, 2, 4, 6, 8, 10.
end
-- The second kind requires an iterator. There are two commonly used built-in ones.
-- pairs and ipairs.
-- pairs uses the built-in next function, which gets the next key in a table given a previous key.
-- pairs can be used both for pure arrays and non-numerical indices (ie. maps).
for i,v in pairs({["A"] = 5, ["B"] = 10}) do
print(i, v); -- A 5, B 10.
end
-- ipairs is different in that it can only loop over tables with numerical indices (ie. arrays) hence the name *i*pairs.
for i,v in ipairs({5, 10}) do
print(i, v); -- 1 5, 2 10.
end
-- You can read more about iterators here:
-- https://www.lua.org/pil/7.3.html

This article is tagged with: Lua for loops and lua