Luau là gì?
Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 1 trên 80.
Luau là ngôn ngữ lập trình do Roblox tạo ra, phát triển từ Lua mà bạn đã biết bằng cách bổ sung kiểu tĩnh linh hoạt. Hãy xem Luau như Lua có thêm một lớp bảo vệ và công cụ hỗ trợ. Ngôn ngữ này vận hành hàng triệu trải nghiệm Roblox và đã là mã nguồn mở từ năm 2021.
Ý tưởng chính là Luau là một tập hợp mở rộng của Lua 5.1. Mọi code Lua 5.1 hợp lệ cũng là code Luau hợp lệ: bạn có thể lấy một script đã viết trong các phần trước và chạy bằng Luau mà không cần sửa đổi.
Điểm Luau bổ sung là chú thích kiểu. Chú thích khai báo loại dữ liệu mà một biến nên chứa, chẳng hạn chuỗi, số, giá trị đúng sai hoặc bảng, để có thể phát hiện lỗi trước cả khi chạy code:
-- Lua (cũng hợp lệ trong Luau)
local playerName = "Rio"
-- Luau có chú thích kiểu dữ liệu
local playerName: string = "Rio"Từ linh hoạt rất quan trọng: chú thích là tùy chọn. Bạn có thể thêm kiểu cho một biến, một hàm hoặc cả tệp: code theo phong cách Lua chưa khai báo kiểu vẫn chạy bình thường trong khi bạn bổ sung kiểu theo tốc độ của mình.
Đổi lại, bạn có công cụ hỗ trợ tốt hơn trong trình soạn thảo, code dễ đọc hơn và được bảo vệ khỏi những loại bug mà Lua thuần chỉ phát hiện khi chương trình đang chạy.
Thử thách
DễChuyển biến Lua này thành biến có kiểu dữ liệu trong Luau.
- Trên dòng
local message = "Hello World", thêm: stringngay saumessage. - Giữ nguyên dòng
print(message).
Nhấn Chạy code: đầu ra hiển thị Hello World.
Tự làm thử
-- Lua thuần: message chưa có kiểu dữ liệu
local message = "Hello World"
print(message)
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