Lua學習筆記3 函式

2021-06-22 14:58:30 字數 691 閱讀 3233

函式定義形如:

function 函式名(引數列表)

函式體end

例如:function add(a,b)

return a+b

end相當於:

add = function(a,b) return a+b end

和c語言一樣,lua的函式可以接受可變引數個數,它同樣是用"…"來定義的,比如:

function sum (a,b,…)

如果想取得…所代表的引數,可以在函式中訪問arg區域性變數(表型別)得到。

如 sum(1,2,3,4)

則,在函式中,a = 1, b = 2, arg =

更可貴的是,它可以同時返回多個結果,比如:

function s()

return 1,2,3,4

enda,b,c,d = s() -- 此時,a = 1, b = 2, c = 3, d = 4

表型別可以擁有任意型別的值,包括函式!因此,有乙個很強大的特性是,擁有函式的表,恰當的應該說是物件吧。lua可以使用物件導向程式設計了。

例如:t =

print(t.age) -- 27

t.add(t, 10)

print(t.age) -- 37

t.add(t,10) 在lua中,你可以簡寫成:

t:add(10) -- 相當於 t.add(t,10)

Lua學習筆記函式

數字型for 的格式,exp3預設為1 for var exp1 exp2 exp3 do 執行體 end泛型for迭代的型別,標準庫中提供了幾種迭代器 io.lines 用於迭代檔案中每行 pairs 迭代table中元素 ipairs 迭代 陣列 元素 string.gmatch 迭代字串中單詞...

Lua學習筆記 函式

1.函式宣告語法 function func name arguments list statements list end 首先說明一點,lua中函式是第一類值,和其他的型別 table,number,boolean等 一樣,所以可以作為函式的引數,table的鍵和值。2.函式呼叫 直接使用函式名...

Lua學習筆記(二) 函式

1 可以在字串前放置操作符 來獲得該字串的長度 for i 1,arr do print arr i end注 上面的程式中 arr的意思就是arr的長度。注 lua 中的變數,如果沒有 local 關鍵字,全都是全域性變數,lua也是用 table 來管理全域性變數的,lua把這些全域性變數放在了...