メインコンテンツまでスキップ

シリアライズされたテキストからテーブルを読み込む (table.load_string)

宣言

連想テーブル = table.load_string(テーブルテキスト)

パラメータ

  • テーブルテキスト
    テキスト型。テーブルのツリー構造をシリアライズしたテキストです。静的データのみを含めることができ、動的なコードは含められません

戻り値

  • 連想テーブル
    テーブル型または nil。読み込みに成功した場合はテーブル構造を返し、失敗した場合は nil を返します

説明

ツリー構造を表すテキスト記述をテーブルオブジェクトに変換します
ある程度、table.load_stringtable.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 を使用しています