table.concat()
Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 5 trên 54.
Đôi khi, bạn cần kết hợp tất cả phần tử trong một bảng dạng danh sách thành một chuỗi duy nhất. Lua cung cấp hàm (function) table.concat() dành riêng cho mục đích này, giúp bạn dễ dàng nối các phần tử trong bảng bằng dấu phân cách tùy chọn.
Cú pháp cơ bản như sau:
local result = table.concat(myTable, separator)Đây là một ví dụ đơn giản với danh sách các từ:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Đầu ra: Hello from LuaBạn cũng có thể chọn phần nào của bảng sẽ được nối bằng cách cung cấp vị trí bắt đầu và kết thúc làm đối số bổ sung. Cách này hữu ích khi bạn chỉ muốn kết hợp một số phần tử cụ thể:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Đầu ra: 2-3-4Hàm table.concat() chỉ hoạt động với bảng dạng danh sách và chuyển từng phần tử thành chuỗi trước khi nối chúng lại.
Thử thách
DễViết một hàm (function) buildPath nhận một bảng folders và một chuỗi separator, rồi trả về một chuỗi đường dẫn duy nhất, trong đó tất cả thư mục được nối với nhau bằng dấu phân cách.
Dùng table.concat() để kết hợp tất cả tên thư mục thành một chuỗi đường dẫn duy nhất.
Tham số:
folders(table): Một bảng dạng danh sách chứa tên thư mục dưới dạng chuỗiseparator(string): Ký tự hoặc chuỗi dùng giữa các tên thư mục (ví dụ:"/"hoặc"\\")
Giá trị trả về: Một chuỗi duy nhất gồm tất cả thư mục được nối với nhau bằng dấu phân cách (string)
Tự làm thử
function buildPath(folders, separator)
-- Viết code ở đây
end
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
2Các hàm khác của thư viện table
table.concat()Tạo table và unpack()table.sort()Sắp xếp tùy chỉnh bằng hàmÔn tập: Bảng điểm cao5Dự án: Bộ máy trò chơi phiêu lưu bằng văn bản
Thiết lập dự án: Căn phòngLiên kết các phòngTự luyện tập: Trình biên dịch Lua online