跳至主要內容

從序列化文字載入一個表 (table.load_string)

聲明

關聯表 = table.load_string(表文字)

參數

  • 表文字
    文字型,表的序列化樹形結構的文字,只能包含靜態資料,不能包含任何動態代碼

回傳值

  • 關聯表
    表型 或 nil,載入成功返回表結構,失敗返回 nil

說明

將樹形結構的文字描述轉換為表物件
一定程度上,table.load_string 可視為 table.deep_dump 的反函式(實際可用程度取決於是否存在循環引用或非表型引用類型)
load 不同:該函式不會執行文字中的代碼,只讀取其中的靜態資料
下面的範例含有可執行代碼,運行後 b 為 nil(代碼不會執行)

b = table.load_string[[ {
a = os.execute('reboot'), -- 這裡的代碼將不會運行,並且會返回 nil
} ]]

範例

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

:上述代碼中使用了非本章函式 sys.alert