Câu lệnh điều kiện cho phép chương trình của bạn đưa ra quyết định dựa trên một số điều kiện nhất định. Trong Lua, bạn sử dụng if, elseif, và else để triển khai logic điều kiện.
Câu lệnh if kiểm tra một điều kiện và thực thi một khối mã nếu điều kiện đó đúng.
📜 Ví dụ mã:
local devLevel = 18 if devLevel >= 18 then print("WOW! REALLY GREAT") end
📌 Giải thích:
Bạn có thể sử dụng elseif để kiểm tra các điều kiện bổ sung và else để thực hiện hành động mặc định nếu không có điều kiện nào đúng.
📜 Ví dụ mã:
local temperature = 25 if temperature > 30 then print("It's hot outside!") elseif temperature > 20 then print("It's warm outside.") else print("It's cool outside.") end
📜 Ví dụ mã bài tập:
local number = 10 if number > 0 then print("The number is positive.") elseif number < 0 then print("The number is negative.") else print("The number is zero.") end
Vòng lặp được sử dụng để lặp lại một khối mã nhiều lần. Lua hỗ trợ các vòng lặp while, for, và repeat…until.
Vòng lặp while lặp lại một khối mã trong khi điều kiện là đúng.
📜 Ví dụ mã:
local i = 1 while i <= 5 do print("i = " .. i) i = i + 1 end
Vòng lặp for lặp qua một dãy giá trị do người dùng chỉ định.
📜 Ví dụ mã:
for i = 1, 5 do print("i = " .. i) end
Vòng lặp repeat…until sẽ thực thi ít nhất một lần và tiếp tục lặp lại cho đến khi điều kiện trở thành đúng.
📜 Ví dụ mã:
local i = 1 repeat print("i = " .. i) i = i + 1 until i > 5
📜 Ví dụ mã bài tập:
-- while loop local countdown = 10 while countdown >= 1 do print(countdown) countdown = countdown - 1 end -- for loop for i = 2, 10, 2 do print(i) end -- repeat...until loop local userInput repeat print("Enter a number: ") userInput = io.read("*n") -- Đọc một số từ đầu vào until userInput ~= nil print("You entered: " .. userInput)
Hàm là các khối mã thực hiện một tác vụ cụ thể và có thể được sử dụng lại trong toàn bộ chương trình. Chúng giúp tổ chức mã và làm cho chương trình dễ đọc hơn.
Bạn định nghĩa một hàm trong Lua bằng từ khóa function theo sau là tên hàm và các tham số.
📜 Ví dụ mã:
-- Hàm tính bình phương của một số function square(num) return num * num end -- Gọi hàm local result = square(5) print("Square: " .. result) -- in ra: 25
Hàm có thể có tham số (giá trị đầu vào) và giá trị trả về (giá trị đầu ra).
📜 Ví dụ mã:
-- Hàm với tham số và giá trị trả về function greet(name) return "Hello, " .. name .. "!" end -- Gọi hàm local message = greet("Lua Learner") print(message) -- in ra: Hello, Lua Learner!
📜 Ví dụ mã bài tập:
-- Hàm tính diện tích hình chữ nhật function calculateArea(length, width) return length * width end -- Hàm chuyển độ C sang độ F function celsiusToFahrenheit(celsius) return celsius * 9 / 5 + 32 end -- Hàm kiểm tra số nguyên tố function isPrime(number) if number <= 1 then return false elseif number == 2 then return true else for i = 2, math.sqrt(number) do if number % i == 0 then return false end end return true end end -- Ví dụ sử dụng local area = calculateArea(5, 10) print("Area of rectangle: " .. area) local fahrenheitTemp = celsiusToFahrenheit(25) print("Temperature in Fahrenheit: " .. fahrenheitTemp) local num = 17 if isPrime(num) then print(num .. " is a prime number.") else print(num .. " is not a prime number.") end