Một cách tuyệt vời để bắt đầu học bất kỳ ngôn ngữ lập trình nào là viết một chương trình đơn giản in ra dòng chữ “Hello, World!”. Chương trình cơ bản này sẽ giúp bạn làm quen với cú pháp của Lua và hàm print.
Ví dụ mã:
print("Hello, Mini World: CREATA!")
Khi bạn chạy chương trình này, bạn sẽ thấy dòng chữ “Hello, Mini World: CREATA!” hiển thị. Điều này cho thấy môi trường Lua đã được cài đặt đúng và bạn có thể chạy chương trình Lua thành công.
Ví dụ mã bài tập:
print("Hello, Mini World Developer!")
Biến được dùng để lưu trữ dữ liệu và cho phép bạn sử dụng hoặc thay đổi dữ liệu đó trong suốt chương trình. Trong Lua, bạn có thể khai báo biến bằng từ khóa local. Phần này sẽ hướng dẫn cách khai báo, gán giá trị và sử dụng biến trong Lua.
Ví dụ mã:
local myDevLevel = 3 local myMiniWorldString = "Hello, Player!" local myMiniWorldBoolean = true print(myDevLevel) print(myMiniWorldString) print(myMiniWorldBoolean)
Khai báo một vài biến với các kiểu dữ liệu khác nhau và dùng hàm print để in giá trị của chúng ra màn hình:
local level = nil local name = "Don" local isDev = true print(level) print(name) print(isDev)
Hiểu rõ kiểu dữ liệu là một phần quan trọng trong lập trình, vì chúng xác định loại dữ liệu mà bạn có thể sử dụng và xử lý. Lua hỗ trợ một số kiểu dữ liệu cơ bản như sau:
Trong Lua, kiểu số có thể là số nguyên hoặc số thực (thập phân). Chúng thường được dùng trong các phép tính toán học và xử lý số liệu.
Ví dụ:
local age = 30 local height = 1.75 print(age) -- in ra: 30 print(height) -- in ra: 1.75
Chuỗi là dãy ký tự dùng để biểu diễn văn bản. Trong Lua, chuỗi có thể được đặt trong dấu nháy kép “ “ hoặc nháy đơn ' '.
Ví dụ:
local greeting = "Hello, World!" local singleQuoteString = 'This is also a string' print(greeting) print(singleQuoteString)
Kiểu boolean biểu diễn giá trị đúng (true) hoặc sai (false). Chúng thường được dùng trong các câu lệnh điều kiện để điều khiển luồng chương trình.
Ví dụ:
local isLuaFun = true local isRaining = false print(isLuaFun) -- in ra: true print(isRaining) -- in ra: false
nil đại diện cho một giá trị không tồn tại hoặc chưa được gán. Đây là cách Lua biểu thị “không có gì”.
Ví dụ:
local nothing = nil print(nothing) -- in ra: nil
Ví dụ:
local temperature = 23.5 local weather = "Sunny" local isSummer = true local unknown = nil print(temperature) print(weather) print(isSummer) print(unknown) -- Thay đổi giá trị temperature = 30 weather = "Cloudy" isSummer = false print(temperature) print(weather) print(isSummer)
Chuỗi trong Lua rất linh hoạt và đi kèm nhiều hàm hữu ích để thao tác. Phần này sẽ giới thiệu về cách nối chuỗi, đo độ dài chuỗi, và một số hàm xử lý chuỗi cơ bản.
🔹 Nối chuỗi
Nối chuỗi là quá trình kết hợp hai chuỗi lại với nhau. Trong Lua, toán tử .. được dùng để nối chuỗi.
Ví dụ:
local firstName = "Mini" local lastName = "World" local fullName = firstName .. " " .. lastName print(fullName) -- in ra: Mini World
🔹 Độ dài chuỗi
Bạn có thể lấy độ dài của một chuỗi bằng toán tử #.
Ví dụ:
local myString = "Hello, Lua!" local length = #myString print(length) -- in ra: 11
🔹 Các hàm chuỗi trong Lua
Lua cung cấp nhiều hàm xử lý chuỗi có sẵn như string.upper, string.lower, và string.sub.
Ví dụ:
local myString = "Hello, All Developer" -- Chuyển sang chữ in hoa local upperString = string.upper(myString) print(upperString) -- in ra: HELLO, ALL DEVELOPER -- Chuyển sang chữ thường local lowerString = string.lower(myString) print(lowerString) -- in ra: hello, all developer -- Cắt chuỗi con (substring) local subString = string.sub(myString, 1, 5) print(subString) -- in ra: Hello
Ví dụ:
local greeting = "Good" local timeOfDay = " Morning" local fullGreeting = greeting .. timeOfDay print(fullGreeting) -- in ra: Good Morning local message = "Hello, World!" local messageLength = #message print(messageLength) -- in ra: 13 local upperMessage = string.upper(message) local lowerMessage = string.lower(message) local partialMessage = string.sub(message, 1, 5) print(upperMessage) -- in ra: HELLO, WORLD! print(lowerMessage) -- in ra: hello, world! print(partialMessage) -- in ra: Hello
Các con số trong Lua rất đơn giản, nhưng bạn có thể thực hiện nhiều thao tác và hàm khác nhau với chúng. Phần này sẽ trình bày về các phép toán số học, các hàm toán học, và chuyển đổi kiểu dữ liệu.
🔹 Phép toán số học
Lua hỗ trợ các phép toán cơ bản như cộng, trừ, nhân, chia và chia lấy dư.
Ví dụ:
local a = 10 local b = 5 local sum = a + b -- 15 local difference = a - b -- 5 local product = a * b -- 50 local quotient = a / b -- 2 local modulus = a % b -- 0 print(sum) print(difference) print(product) print(quotient) print(modulus)
🔹 Các hàm toán học
Thư viện math của Lua cung cấp nhiều hàm hữu ích để thực hiện các phép toán, ví dụ như: math.sqrt, math.floor, math.ceil, và math.random.
Ví dụ:
local number = 16 local squareRoot = math.sqrt(number) -- 4 local floorValue = math.floor(4.7) -- 4 (làm tròn xuống) local ceilValue = math.ceil(4.2) -- 5 (làm tròn lên) local randomValue = math.random(1, 10) -- Số ngẫu nhiên từ 1 đến 10 print(squareRoot) print(floorValue) print(ceilValue) print(randomValue)
🔹 Chuyển đổi kiểu dữ liệu
Lua cho phép chuyển đổi giữa các kiểu dữ liệu, ví dụ như từ số sang chuỗi và ngược lại.
Ví dụ:
local num = 42 local str = tostring(num) -- Chuyển số thành chuỗi print(str) -- in ra: "42" print(type(str)) -- in ra: string local numStr = "123" local numValue = tonumber(numStr) -- Chuyển chuỗi thành số print(numValue) -- in ra: 123 print(type(numValue)) -- in ra: number
Ví dụ:
local x = 8 local y = 3 local addition = x + y local subtraction = x - y local multiplication = x * y local division = x / y local mod = x % y print("Addition:", addition) print("Subtraction:", subtraction) print("Multiplication:", multiplication) print("Division:", division) print("Modulo:", mod) -- Hàm toán học local num = 25 local sqrtValue = math.sqrt(num) local roundedDown = math.floor(7.8) local roundedUp = math.ceil(7.2) local randomValue = math.random(1, 100) -- Số ngẫu nhiên từ 1 đến 100 print("Căn bậc hai của", num, "là:", sqrtValue) print("Làm tròn xuống 7.8:", roundedDown) print("Làm tròn lên 7.2:", roundedUp) print("Số ngẫu nhiên từ 1 đến 100:", randomValue)
Phép toán số học:
Hàm toán học: