Control structures
If
Structure:
if condition then
block
elseif condition2 then
block
elseif condition3 then
block
else
block
end
If one elseif
is true, execution exits the if loop without checking the subsequent elseifs.
Example
if 3 < 2 then
print("bigger")
elseif 5 > 3 then
print ("small")
elseif 4 > 2 then
print ("never gets here")
else
print ("here neither")
end
small
Anything that does not return
false
or nil
is considered true
to Lua. So, an expression like: if 5 then print("ok") end
will print "ok".
while
Structure:
while condition do
block
end
Example:
i= 1
while i <= 5 do
print(i)
i= i + 1
end
1
2
3
4
5
repeat
Structure:
repeat
block
until condition
Example:
i= 1
repeat
print(i)
i= i + 1
until i == 5
1
2
3
4
for
numeric:
Structure:
for variable = start, stop, step do
block
end
Examples:
for i = 5,10 do
print(i)
end
5
6
7
8
9
10
for i = 5,10,2 do
print(i)
end
5
7
9
in pairs & in ipairs
As far as I know, they are used in tables and arrays. pairs
will follow whatever order it finds in the table, while ipairs
will follow a crescent order of indexes (mostly for arrays). pairs
and ipairs
are called "iterators".
Structure:
for var1, var2, var3 in iterator(table) do
block
end
Example:
t= {2, 4, 6, "house"}
for x, y in ipairs(t) do
print(x, y)
end
1 2 -- first is the key, then the value
2 4 -- since this is an array, the first
3 6 -- is the index
4 house
break
Break exits the current loop.