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 statements are one of the most common staples of programming, because programs & games & just about everything we do in life consists of if queries; should I wear this tie today? Do I need to go grocery shopping after work? Should I buy this game, or that game? etc. etc.
Let's say that we have a variable called var & we want to check if the var contains a boolean value of true...
Quick note: if a variable contains a boolean value of true or false, then there is no need to use definitive query based operators as the variable on it's own will return the boolean value.
Now we want to perform the same query, but we want to check if the variable is false instead...
What do you think will happen when we run the code above? That's right, absolutely nothing will happen because var still contains the boolean value of true & we haven't told the program what to do if the variable doesn't return false, so let's do that now by using an else operator...
Because the variable contains a boolean value of true, we skip the if var == false block of code & execute the line of code in the else section instead, which would print "var = true" to the log.
elseif
Alternatively we can use elseif conditional operators instead of else to query multiple different statements. Below we are querying if var is true or false.
This is pretty self-explanatory. All if queries, loops & functions require you to close them off with an end statement, the difference between them being that for nested if queries, there must be the same amount of end as there are if operators; the only exception to this rule is when you use elseif because it's not classed as a new if query but a continuation of the same query.
local a = true
if a or a == true then
print("a = true")
end
click to enlarge
not
if condition is not true
local a = false
if not a then
print("a = false")
end
click to enlarge
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
click to enlarge
does not equal
if a does not equal 2
local a = 1
if a ~= 2 then
print("a = " .. a)
end
click to enlarge
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
click to enlarge
greater than
if a is greater than 2
local a = 3
if a > 2 then
print("a = " .. a)
end
click to enlarge
less than or equal to
if a less than or equal to 2
local a = 2
if a <= 2 then
print("a = " .. a)
end
click to enlarge
less than
if a less than 2
local a = 0
if a < 2 then
print("a = " .. a)
end
click to enlarge
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 )
click to enlarge
subtract
3 - 2 = 1
local a = 3
local b = 2
local result = a - b
print( result )
click to enlarge
inverse
inv of 3 = -3
local a = 3
local result = -a
print( "original value: " .. a, "inversed value: " .. result )
click to enlarge
multiply
2 x 2 = 4
local a = 2
local result = a * a
print( result )
click to enlarge
divide
10 ÷ 5 = 2
local a = 10
local b = 5
local result = a / b
print( result )
click to enlarge
power
base of 2, power of 8 (2ⁿ) = 256
local a, b = 2, 16
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))
click to enlarge
remainder
remainder of 25 ÷ 4 = 1
local a = 25
local b = 4
local result = a / 4
local remainder = a % b
local decimal = remainder / b
print("result: 25 ÷ 4 = " .. result, "remainder: .25 x 4 = " .. remainder, "decimal: 1 ÷ 4 = " .. decimal )