Menu
CoddyTech

Thêm và đọc phần tử

Thuộc phần Giới thiệu về Luau trong hành trình Lua của Coddy. Bài học 14 trên 80.

Bạn đã có thể tăng và giảm kích thước bảng Lua bằng table.insert và table.remove: cả hai hoạt động giống hệt trên mảng có kiểu. Điểm khác biệt là giờ đây Luau kiểm tra những gì bạn chèn vào: nếu bạn thêm chuỗi vào mảng {number}, Luau sẽ báo lỗi ngay khi bạn nhập code, thay vì để một người chơi bối rối phát hiện ra lỗi khi chương trình chạy.

local queue: {string} = {"save", "load"}
table.insert(queue, "quit")      -- Thêm vào cuối
table.insert(queue, 1, "help")   -- Chèn vào vị trí 1, đẩy các phần tử còn lại sang sau
local last = table.remove(queue) -- Xóa VÀ trả về phần tử cuối cùng

table.remove(t) lấy phần tử cuối cùng ra và trả lại cho bạn; table.remove(t, 1) xóa phần tử đầu tiên rồi dịch mọi thứ xuống. Vì mảng có kiểu {string}, Luau biết giá trị trả về là một chuỗi.

Đọc phần tử cũng dễ dàng như trong Lua thông thường: chỉ số không chứa giá trị, queue[0], queue[-1] hoặc bất kỳ chỉ số nào vượt quá #queue đều âm thầm trả về nil. Không có lỗi nào được báo, vì vậy hãy kiểm tra nil trước khi dùng một giá trị mà bạn không chắc là có tồn tại.

challenge icon

Thử thách

Dễ

Thêm và xóa phần tử trong danh sách có kiểu dữ liệu.

  1. Khai báo local moves: {string} = {"jump", "run"}.
  2. Thêm "duck" vào cuối danh sách bằng table.insert, sau đó chèn "crawl" vào vị trí 1.
  3. Lưu table.remove(moves) vào local removed, sau đó in ra removed, #moves, moves[1] và moves[10].

Nhấn Run Code: đầu ra hiển thị duck, 3, crawl và nil.

Tự làm thử

-- 1) khai báo moves: {string} với "jump" và "run"
-- 2) thêm "duck" vào cuối, chèn "crawl" vào vị trí 1
-- 3) xóa phần tử cuối của moves, rồi in ra bốn giá trị

Tất cả bài học trong Giới thiệu về Luau

Tự luyện tập: Trình biên dịch Luau online