pretty code

2019年9月10日 星期二

Lua 使用小技巧

變數 Scope

變數前面加上 local 保留字,便是區域變數。


變數型别

number, boolean, nil, table, function, string,最後 2 種為 thread and userdata。

table, function 傳值時,傳的是參考。

local a, b = 1, 2 可以賦值給多個變數,不足的預設是 nil。


邏輯判斷

if flag == true then
    print('true')
else
    print('false')
end


迴圈

for i = 1, 100, 1 do
    -- do something.
end

上面表示 i 從 1 開始,做到 100,間隔 1。

for key, value in pairs(t) do
    print(key, value)
end

印出 table 變數 t 的 key and value

Table 使用

t = {}
t['name'] = John
t['age'] = 18
t[0] = 1
t[1] = 1

上面宣告了一個 table 變數 t,如果要當純陣列用,索引最好從 1 開始,因為長度從 1 開始計算,並且只算純數字索引的元素,不過使用 for 迴圈,則會全部都 iterate 一遍。

可以使用 t[1] = nil 來去除元素。
#t 可以得到陣列長度


函數宣告

function test(a, b)
    -- do something.
    return xxx
end

函數回傳值也可以有多個。


註解

'- -' 為單行註解


字串串接

local s = 'Hello' .. ' World'

字串可以使用單引號或雙引號。

沒有留言: