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
endNế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.
Thử thách
DễViết hai hàm in ra và không trả về giá trị nào.
- Viết
local function displayWelcome(userName: string): ()để in ra`Welcome, {userName}!`. - Viết
local function logError(errorMessage: string): ()để in ra`ERROR: {errorMessage}`. - Gọi
displayWelcome("Alice"), sau đó gọilogError("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
1Bắt đầu với Luau
Luau là gì?Tại sao nên dùng Luau?Đoạn code Luau đầu tiênKiểm tra kiểu và chế độ lỗiÔn tập: Giới thiệu về Luau4Làm việc với hàm
Kiểu dữ liệu cho tham số và giá trị trả vềKiểu dữ liệu cho hàm ẩn danhHàm không trả về giá trịTham số tùy chọnGiá trị tham số mặc địnhGiá trị Boolean mặc địnhHàm có số lượng tham số thay đổiĐịnh nghĩa kiểu hàmÔn tập: hàm có kiểu dữ liệu2Kiểu dữ liệu cốt lõi
Số, chuỗi và BooleanKiểu 'any': lối thoátKiểu 'unknown'Kiểu Nil và kiểu tùy chọnSuy luận kiểu trong thực tếChú thích kiểu tường minhÔn tập: luyện tập với kiểu dữ liệu cốt lõi5Bí danh kiểu, kiểu hợp và kiểu giao
Bí danh kiểu cho kiểu nguyên thủyKiểu hợpLàm việc với kiểu hợpKiểu literalKiểu giaoKết hợp bí danh kiểuÔn tập: kết hợp kiểu nâng cao3Bảng có kiểu: mảng và Map
Mảng có kiểuThêm và đọc phần tửKiểu Map là gì?Khai báo và truy cập MapDuyệt bảngBảng có cấu trúc hỗn hợpĐọc lướiTạo lướitable.unpackÔn tập: mảng và MapTự luyện tập: Trình biên dịch Luau online