====== Lua variables ======
Welcome, if you want to understand scripts, its crucial to have a solid understanding of variables in Lua. Variables serve as containers for storing data that your script can manipulate, think of them as boxes with names, they can contain numebers, word, etc. Lua variables, covering their types, scope, and usage.
===== Naming rules =====
Before we explain more, let's cover some basic rules for naming variables in Lua:
* Variable names can contain letters, numbers, and underscores (_).
* Names cannot start with a number.
* Lua is case-sensitive, so my**V**ar and **M**y**V**ar are considered different variables.
* Using Lua reserved keywords such as **and**, **break**, **do**, **else**, **end**, etc, as variable names will result in an error.
===== Variable types =====
* Number: This is for holding number values, like 5 or 3.14.
* String: These are words or phrases and must be enclosed in single or double quotes (e.g., "Hello", 'World').
* Boolean: This represents either true or false.
* Table: This is like a box where you can keep lots of different stuff organized, like lists or dictionaries.
===== Declaring variables =====
In Lua, you don't need to explicitly declare the type of a variable. You can simply assign a value to a variable, and Lua will determine its type. Here's how you declare variables:
-- Number variable
local age = 25
-- String variable
local playerName = "John"
-- Boolean variable
local isOnline = true
-- Table variable
local playerData = {name = "Alice", score = 100}
-- Another form of Table variable
local playerIds = {1583,2229}
===== Variable scope =====
Variables in Lua have scope, which defines where they can be accessed. There are mainly two types of scope in Lua:
- Global Scope: Variables declared outside of any block or function have global scope and can be accessed from anywhere in the script.
- Local Scope: Variables declared within a block or function have local scope and are only accessible within that block or function.
In Lua, a block is a group of instructions or commands that are grouped together. They are enclosed within keywords such as "do", "then", or inside a function and finish with "end". Blocks help organize code and make it easier to manage. When Lua runs, it executes each instruction in the block sequentially, one after the other.
-- Global variable
globalVar = 10
-- Function defining a local variable
local function myFunction()
-- localvar can't be accesed outside this block, in this case the function
local localVar = 20
print(localVar) -- Will print 20
end
-- Accessing global variable: will print 10
print(globalVar)
-- Accessing local variable outside of the block its in: will give us nil (nothing)
print(localVar)
===== Variable usage =====
Now that we understand the basics, let's see how we can use variables in Lua scripts. Here are some common scenarios:
==== Using them in code ====
playerName = "NotSoPr17"
uid = 75820841
uses_lua = true
print(playerName)
if uid >= 0 then
print("uid: ".. uid)
end
if uses_lua == true then
print("Player uses lua")
else
print("Player doesn't use lua")
end
==== Arithmetic Operations ====
local num1 = 10
local num2 = 5
-- Addition
local sum = num1 + num2
-- Subtraction
local difference = num1 - num2
-- Multiplication
local product = num1 * num2
-- Division
local quotient = num1 / num2
-- Modulus (Remainder after division)
local remainder = num1 % num2
==== String Manipulation ====
local greeting = "Hello"
local name = "Alice"
-- Concatenation
local message = greeting .. ", " .. name .. "!"
print(message) -- prints: Hello, Alice!