Menu
CoddyTech

Hàm không trả về giá trị

Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 25 trên 80.

Nhiều hàm không tính ra giá trị. Chúng thực hiện một việc nào đó: in ra thông báo, cập nhật bảng, lưu trạng thái. Trong Luau, bạn có thể chú thích rằng một hàm trả về không có gì bằng kiểu trả về rỗng ():

local function logMessage(message: string): ()
    print(message)
end

local counter = 0
local function incrementCounter(): ()
    counter += 1
end

Nếu bạn từng dùng TypeScript, () có vai trò như void, nhưng cách viết trong Luau là một cặp dấu ngoặc đơn rỗng, đúng nghĩa là "không có giá trị trả về".

Chú thích này không bắt buộc: nếu bỏ qua, Luau sẽ tự suy ra rằng hàm không trả về gì. Viết tường minh : () sẽ ghi rõ ý định của bạn: bất kỳ ai đọc chữ ký hàm đều biết hàm này được gọi để tạo ra các tác dụng phụ, chứ không phải để lấy kết quả.

Khi chạy, không có gì thay đổi (như thường lệ): hàm không có giá trị return sẽ trả về nil nếu bạn cố lấy kết quả của nó, giống như Lua thông thường.

challenge icon

Thử thách

Dễ

Viết hai hàm in ra và không trả về giá trị nào.

  1. Viết local function displayWelcome(userName: string): () để in ra `Welcome, {userName}!`.
  2. Viết local function logError(errorMessage: string): () để in ra `ERROR: {errorMessage}`.
  3. Gọi displayWelcome("Alice"), sau đó gọi logError("Invalid input").

Nhấn Run Code: đầu ra hiển thị Welcome, Alice! và ERROR: Invalid input.

Tự làm thử

-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) gọi displayWelcome("Alice"), rồi gọi logError("Invalid input")

Tất cả bài học trong Giới thiệu về Luau

Tự luyện tập: Trình biên dịch Luau online