Chuyển tới nội dung chính

Tải bảng từ văn bản đã tuần tự hóa (table.load_string)

Khai báo

tab = table.load_string(text)

Tham số

  • text
    Kiểu chuỗi. Văn bản mô tả cấu trúc cây đã tuần tự hóa của bảng. Chỉ được chứa dữ liệu tĩnh, không được chứa mã thực thi.

Giá trị trả về

  • tab
    Kiểu bảng hoặc nil. Trả về cấu trúc bảng khi tải thành công; trả về nil khi thất bại.

Mô tả

Chuyển phần mô tả bằng văn bản có cấu trúc cây thành một đối tượng bảng.
Ở một mức độ nhất định, table.load_string là phép nghịch đảo của table.deep_dump, tùy thuộc vào việc có tham chiếu vòng hoặc kiểu tham chiếu không phải bảng hay không.
Khác với load, hàm này không thực thi mã trong văn bản mà chỉ đọc dữ liệu tĩnh.
Ví dụ sau có chứa mã thực thi nhưng mã đó sẽ bị bỏ qua; sau khi chạy, b là nil vì đoạn mã bên trong không được thực thi.

b = table.load_string[[ {
a = os.execute('reboot'), -- Mã này sẽ KHÔNG chạy và giá trị sẽ trở thành nil
} ]]

Ví dụ

local t = table.load_string[[ {
a = 1,
b = 2,
c = 3,
} ]]
sys.alert(t.b)

Lưu ý: Ví dụ trên sử dụng hàm ngoài chương này sys.alert.