今天學習第五章 函數
ide
5. Functions
1)函數定義:
function func(arg_list)
stat_list
end
(a)對只有一個參數且爲字符串或表構造時,能夠不用括號:
如: func("abcd") <----> func "abcd"
(b)對函數參數賦值同通常的等號賦值,缺乏補nil,多餘忽略
2)函數返回值能夠爲多個:
function func()
return 1,2
end
a,b = func()
(a)能夠用()強制只返回一個值 如 print( (func()) )--> 1
(b)當不須要一個返回值時,可用 「_」佔位,如:
_, b = func() ---> b = 2
3)可變參數:
Lua將可變參數,記錄在一個叫arg的表中,如:
function p(a,b, ...)
for i,v in ipairs(arg) do
...
end
end
p(1) ---> a = 1, b = nil, arg = {n = 0}
p(1,2) --->a = 1, b = 2, arg = {n = 0}
p(1,2,3,4) ---> a = 1, b = 2, arg = {3,4; n=2}
4)命名參數:
在函數調用時,顯示說明輸入的實參是屬於哪一個形參的,能夠作到不依據形參順序來輸入參數,方便一些可選參數的輸入。如:
function func(height,length,width,vol)
...
end
調用時能夠:
func(vol = 5, length = 10)至關於--> func(nil, 10, nil, 5)