# Basic lua: Operators

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
```
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

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
```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))```

### 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 )```
 < Index >