LUA教程儲存不帶迴圈的table 49

2021-10-08 03:10:50 字數 814 閱讀 3809

根據表的結構不同,採取的方法也有很多。沒有一種單一的演算法對所有情況都能很好地解決問題。簡單的表不僅需要簡單的演算法而且輸出檔案也需要看起來美觀。

第一次嘗試如下:

function serialize (o)

if type(o) == "number" then

io.write(o)

elseif type(o) == "string" then

io.write(string.format("%q", o))

elseif type(o) == "table" then

io.write("\n")

else

error("cannot serialize a " .. type(o))

endend

io.write(" ", k, " = ")
改為

io.write(" [")

serialize(k)

io.write("] = ")

這樣一來,我們改善了我們的函式的健壯性,比較一下兩次的結果:

-- result of serialize

-- 第乙個版本  

-- 第二個版本

還可以通過測試每一種情況,看是否需要方括號。

原文:lua乙個小巧指令碼語言學習筆記

lua教程儲存不帶迴圈的table-49

xLua C 訪問Lua之訪問Lua的table

1.對映到普通class或struct 定義乙個class,有對應於table的字段的public屬性,而且有無引數建構函式即可,比如對於可以定義乙個包含public int f1 public int f2 的class。這種方式下xlua會幫你new乙個例項,並把對應的字段賦值過去。table的...

Lua程式設計中使用巢狀迴圈的使用教程

lua程式語言允許使用乙個迴圈內嵌另乙個迴圈。下文將介紹幾個例子來說明這一概念。語法在lua中巢狀迴圈語法語句如下 複製 如下 for init,max min value,increment do for init,max min value,increment do statement s en...

Lua的泛型for迴圈

泛型for的語義 泛型for比較複雜,它在迴圈過程內儲存了迭代器函式。它實際上儲存著3個值 乙個迭代器函式 乙個恆定狀態和乙個控制變數。接下來,分別進行總結。泛型for的語法如下 for indo end 其中,是乙個或多個變數名的列表,以逗號分隔 是乙個或多個表示式的列表,同樣以逗號分隔。通常表示...