Chú thích cấu trúc trực tiếp
Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 39 trên 80.
Trong Lua, từ lâu bạn đã dùng bảng làm bản ghi: local user = {name = "Ana", age = 20}. Không có gì ngăn bạn viết sai tên trường, quên một trường hoặc lưu chuỗi ở nơi cần số. Bạn chỉ phát hiện ra khi code chạy.
Luau cho phép bạn mô tả hình dạng của một bảng như vậy ngay trong phần khai báo, liệt kê từng trường và kiểu dữ liệu của nó trong cặp dấu ngoặc nhọn:
local user: {name: string, age: number} = {
name = "Ana",
age = 20,
}Hãy so sánh với các kiểu bảng bạn đã biết: {number} mô tả một mảng và {[string]: number} mô tả một bản đồ có khóa là chuỗi bất kỳ. Một hình dạng cụ thể hơn. Nó gọi tên từng trường và quy định kiểu riêng cho mỗi trường.
Khi đã khai báo hình dạng, trình kiểm tra kiểu sẽ kiểm tra bảng theo hình dạng đó trong lúc bạn chỉnh sửa. Trình kiểm tra sẽ đánh dấu trường bị thiếu hoặc giá trị sai kiểu trước khi code chạy:
local user: {name: string, age: number} = {
name = "Ana",
age = "twenty", -- ✗ lỗi kiểu dữ liệu: string không phải là number
}Như thường lệ, phần chú thích kiểu không thêm hành vi lúc chạy: bảng vẫn là bảng Lua thông thường. Hình dạng viết trực tiếp rất phù hợp với những cấu trúc chỉ dùng một lần mà bạn không định tái sử dụng; trong bài học tiếp theo, bạn sẽ đặt tên cho các hình dạng.
Thử thách
DễMô tả bản ghi của một học sinh ngay trong phần khai báo.
- Khai báo
local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}. - In ra
student.name, sau đóstudent.studentId.
Nhấn Chạy code: đầu ra hiển thị Sarah Johnson và 12345.
Tự làm thử
-- 1) Khai báo student với chú thích kiểu dữ liệu ngay tại chỗ
-- 2) In ra tên của student, rồi in ra studentId
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à Map6Định kiểu cấu trúc bảng
Chú thích cấu trúc trực tiếpBí danh kiểu cho cấu trúcThuộc tính tùy chọnCấu trúc và bảng không ràng buộcMở rộng cấu trúcThêm phương thức vào cấu trúcPhương thức self và dấu hai chấmÔn tập: định nghĩa cấu trúc bảngTự luyện tập: Trình biên dịch Luau online