Bảng có cấu trúc hỗn hợp
Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 18 trên 80.
Mảng chứa nhiều giá trị cùng một kiểu dữ liệu; map chứa khóa cùng một kiểu và giá trị cùng một kiểu. Nhưng các bảng Lua bạn thường dùng nhất lại trộn nhiều kiểu dữ liệu trong các trường có tên: một người chơi có tên dạng chuỗi, điểm dạng số và cờ dạng boolean. Luau biểu diễn các kiểu này bằng một hình dạng: kiểu bảng liệt kê từng trường cùng kiểu dữ liệu riêng của trường đó.
type Point = {x: number, y: number}
local origin: Point = {x = 0, y = 0}
print(origin.x)Từ khóa type tạo một bí danh kiểu dữ liệu: một tên có thể tái sử dụng cho hình dạng đó. Tên này chỉ tồn tại để trình kiểm tra kiểu dữ liệu sử dụng: không có giá trị nào mang tên Point được tạo ra khi chạy chương trình. Mỗi trường có thể có một kiểu dữ liệu khác nhau:
type Player = {name: string, score: number, active: boolean}
local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)Khi đã khai báo hình dạng, trình kiểm tra biết player.score là một số và phát hiện lỗi sớm: lỗi gõ nhầm như player.scroe (không có trường này), hoặc gán player.score = "high" (sai kiểu dữ liệu). Đây chỉ là phần mở đầu: một chương sau sẽ tìm hiểu sâu hơn về hình dạng, trường tùy chọn và phương thức.
Thử thách
DễMô tả một người chơi bằng kiểu shape.
- Viết
type Player = {name: string, score: number, active: boolean}. - Tạo
local player: Player = {name = "Kai", score = 900, active = false}. - In ra
player.active, rồi`{player.name} has {player.score} points`.
Nhấn Chạy code: đầu ra hiển thị false và Kai has 900 points.
Tự làm thử
-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) in ra cờ active, rồi đến dòng tóm tắt
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