Lua operators are expressions used to perform calculations or to pass arguments between different value types.
Conditional Operators
if
Query if something does or does not meet a certain condition.
else
Do something else if the query condition was not met.
elseif
Used to add additional if queries, if the initial query condition was not met.
end
This is used to close various queries or functions; there must be the same amount of end as if ; except in instances where elseif has been used.
if
if condition is true (method 1)
local a = true
if a then
print ( "a = true" )
end
if condition is true (method 2)
local a = true
if a == true then
print ( "a = true" )
end
if condition is false
local a = false
if a == false then
print ( "a = false" )
end
else
if condition is not met, then do else
local a = false
if a then
print ( "a = true" )
else
print ( "a = false" )
end
elseif
if condition is not met, then do elseif
local a = false
if a then
print ( "a = true" )
elseif a == false then
print ( "a = false" )
end
Logical Operators
and
Allows you to check multiple conditions in a single if query.
or
Allows you to add an alternative if query into a single if query.
not
Checks if condition equals false or negative.
and
if condition a is true and condition b is false then
local a = true
local b = false
if a == true and b == false then
print ( "a = true" , "b = false" )
end
or
if condition is true or condition == true then
local a = true
if a or a == true then
print ( "a = true" )
end
not
if condition is not true
local a = false
if not a then
print ( "a = false" )
end
Comparison Operators
==
Equal to.
~=
Does not equal.
>=
Greater than or equal to.
>
Greater than.
<=
Less than or equal to.
<
Less than.
equal to
if a equals 1
local a = 1
if a == 1 then
print ( "a = 1" )
end
does not equal
if a does not equal 2
local a = 1
if a ~= 2 then
print ( "a = " .. a )
end
greater than or equal to
if a is greater than or equal to 2
local a = 5
if a >= 2 then
print ( "a = " .. a )
end
greater than
if a is greater than 2
local a = 3
if a > 2 then
print ( "a = " .. a )
end
less than or equal to
if a less than or equal to 2
local a = 2
if a <= 2 then
print ( "a = " .. a )
end
less than
if a less than 2
local a = 0
if a < 2 then
print ( "a = " .. a )
end
Mathematical Operators
+
Add
-
Subtract or invert
*
Multiply
/
Divide
^
Power
%
Remainder
add
1 + 2 = 3
local a = 1
local b = 2
local result = a + b
print ( result )
subtract
3 - 2 = 1
local a = 3
local b = 2
local result = a - b
print ( result )
inverse
inv of 3 = -3
local a = 3
local result = - a
print ( "original value: " .. a , "inversed value: " .. result )
multiply
2 x 2 = 4
local a = 2
local result = a * a
print ( result )
divide
10 ÷ 5 = 2
local a = 10
local b = 5
local result = a / b
print ( result )
power
base of 2, power of 8 (2ⁿ) = 256 (2x2=4x2=8x2=16x2=32x2=64x2=128x2=256)
local a , b = 2 , 8
local result = a ^ b -- generate answer
-- break down power function into string result (ignore this code)
function power ( i1 , i2 )
local val = "" -- clear string
--+--
for i = 1 , i2 do -- generate the longhand math formula
if i < i2 then val = val .. i1 .. "*" else val = val .. i1 end
end
return "which is the equivalent of " .. val
end
print ( "power value of " .. a .. " & " .. b .. " = " .. result , power ( a , b ))
remainder
remainder of 25 ÷ 4 = 1 (25 ÷ 4 = 6.25 - 6 = 0.25 * 4 = 1)
local a = 25
local b = 4
local result = a / b -- 25 ÷ 4 = 6.25
local result_decimal = math.fmod ( result , 1 ) -- 6.25 - 6 = 0.25
local result_rounded = math.modf ( result ) -- 6.25 - 0.25 = 6
local remainder = a % b -- 0.25 * 4 = 1
print ( "result: " .. result .. ", decimal: " .. result_decimal .. ", rounded: " .. result_rounded .. ", remainder: " .. remainder )