table.unpack
Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 21 trên 80.
Đôi khi bạn có các giá trị trong một mảng nhưng cần dùng chúng dưới dạng các giá trị riêng biệt, chẳng hạn để truyền mỗi phần tử dưới dạng một đối số riêng. Đó là table.unpack: hàm này trả về tất cả phần tử của một mảng, tách rời nhau.
local scores: {number} = {85, 92, 78}
print(table.unpack(scores)) -- 85 92 78 (trên một dòng)
print(math.max(table.unpack(scores))) -- 92print nhận ba đối số, vì vậy nó in chúng trên cùng một dòng, cách nhau bằng một tab. math.max cần các số riêng biệt chứ không phải một mảng, nên việc tách các phần tử ra giúp lời gọi hàm hoạt động.
table.unpack đọc mảng mà không thay đổi mảng. Chiều ngược lại, tức là một hàm nhận số lượng đối số bất kỳ bằng ..., sẽ có trong bài học Variadic Functions ở chương tiếp theo.
Thử thách
DễTrải mảng điểm thành các giá trị riêng biệt.
- Khai báo
local scores: {number} = {64, 88, 71}. - In ra
table.unpack(scores). - In ra
math.max(table.unpack(scores)).
Nhấn Run Code: đầu ra hiển thị 64 88 71 trên một dòng, rồi đến 88.
Tự làm thử
-- 1) Khai báo scores: {number} = {64, 88, 71}
-- 2) In ra các giá trị của scores sau khi giải nén, rồi in ra math.max của chúng
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