Mục lục

Biến trong Lua

Chào mừng anh, nếu muốn hiểu các đoạn script, thì việc nắm vững kiến thức về biến trong Lua là điều rất quan trọng. Biến giống như những chiếc hộp có tên, dùng để lưu trữ dữ liệu mà script có thể xử lý. Những dữ liệu đó có thể là số, chữ, v.v. Dưới đây là tổng quan về biến trong Lua: kiểu dữ liệu, phạm vi, và cách sử dụng.

Quy tắc đặt tên biến

Trước khi giải thích thêm, hãy điểm qua một số quy tắc cơ bản khi đặt tên biến trong Lua:

Các kiểu dữ liệu của biến


Khai báo biến

Trong Lua, anh không cần khai báo kiểu dữ liệu trước. Chỉ cần gán giá trị, Lua sẽ tự hiểu kiểu của biến.

-- Biến kiểu số
local age = 25
 
-- Biến kiểu chuỗi
local playerName = "John"
 
-- Biến kiểu boolean
local isOnline = true
 
-- Biến kiểu bảng (table)
local playerData = {name = "Alice", score = 100}
 
-- Một dạng khác của bảng
local playerIds = {1583, 2229}

Phạm vi (scope) của biến

Phạm vi của biến là nơi mà biến có thể được truy cập. Có 2 loại phạm vi chính trong Lua:

Trong Lua, một block là một nhóm câu lệnh được bao trong các từ khóa như do, then, hoặc bên trong một hàm, và kết thúc bằng end. Block giúp tổ chức mã rõ ràng hơn.

-- Biến toàn cục
globalVar = 10
 
-- Hàm định nghĩa biến cục bộ
local function myFunction()
 
    -- Biến localVar chỉ truy cập được trong hàm này
    local localVar = 20
    print(localVar) -- In ra 20
end
 
-- Truy cập biến toàn cục
print(globalVar) -- In ra 10
 
-- Truy cập biến cục bộ bên ngoài hàm sẽ bị nil (không có giá trị)
print(localVar) -- Kết quả: nil

Sử dụng biến

Giờ khi đã hiểu cơ bản, mình sẽ xem cách sử dụng biến trong các script Lua. Một số trường hợp phổ biến:

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

Toán học với biến số

local num1 = 10
local num2 = 5
 
-- Cộng
local sum = num1 + num2
 
-- Trừ
local difference = num1 - num2
 
-- Nhân
local product = num1 * num2
 
-- Chia
local quotient = num1 / num2
 
-- Phần dư
local remainder = num1 % num2

Xử lý chuỗi (String Manipulation)

local greeting = "Hello"
local name = "Alice"
 
-- Nối chuỗi
local message = greeting .. ", " .. name .. "!"
 
print(message) -- In ra: Hello, Alice!