Basic lua: Operators

From The Official Visionaire Studio: Adventure Game Engine Wiki
Revision as of 17:02, 2 September 2022 by AFRLme (talk | contribs)

Lua operators are expressions used to perform calculations or to pass arguments between different value types.

< Index >

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
Basic lua (conditional operators) 1.png
if condition is true (method 2)
local a = true

if a == true then
  print("a = true")
end
Basic lua (conditional operators) 2.png
if condition is false
local a = false

if a == false then
  print("a = false")
end
Basic lua (conditional operators) 3.png

else

if condition is not met, then do else
local a = false

if a then
  print("a = true")
else
  print("a = false")
end
Basic lua (conditional operators) 4.png

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
Basic lua (conditional operators) 5.png

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
Basic lua (logical operators) 1.png

or

if condition is true or condition == true then
local a = true

if a or a == true then
 print("a = true")
end
Basic lua (logical operators) 2.png

not

if condition is not true
local a = false

if not a then
 print("a = false")
end
Basic lua (logical operators) 3.png

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 )
click to enlarge
< Index >