函式主要用途
1、是作為呼叫語句使用。
2、作為賦值語句的表示式使用。
語法:
[區域性/全域性]
function
fun_name
([引數列表])
函式體endfunction :定義函式關鍵字
注意:
1、在使用 lua 函式/變數時一定要先定義函式/變數
2、lua 函式不支援引數預設值, 可以使用 or 解決。如:
function
name
(str1,str2,str3)
str1 = str1 or
"古夢"
str2 = str2 or
"古夢"
str3 = str3 or
"古夢"
end
什麼叫多返回值,就是返回多個數值。
function
fun_test()
return
1,2,3
enda,b,c,d = fun_test()
print(a,b,c,d)
--結果: 1 2 3 nil
functionf()
return
1,2,3
endx,y,b,c = f() ----輸出結果 x = 1, y = 2, b = 3,c = nil
t1 =
print(t1[1],t1[2],t1[3])--輸出結果 1, 1, nil --f()返回的第乙個值
t2 =
print(t1[1],t1[2],t1[3],t1[4])--輸出結果1, 1, 2, 3 -- f()返回所有的值
函式引數列表中使用三點 (…) 表示該函式有可變引數。
lua 將函式的引數放在乙個叫 arg 的表中。
local function test(...)
arg =
local count = 0
for k,v in pairs(arg) do
count = count + 1
endreturn count
endprint(test(1,2,3,4,5))
--輸出結果: 5
Lua基礎函式
1,table.concat table,sep,start,end 連線函式 concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從start位置到end位置的所有元素,元素間以指定的分隔符 sep 隔開。除了table外,其他...
lua學習 lua函式理解
詞法定界指 巢狀的函式可以訪問他外部函式中的變數。第一類值指 可以被存放在變數中,也可以存放在表中,可以作為函式的引數,還可以作為函式的返回值。的值function foo x return 2 x end這段 實際上就等效於 foo function x return 2 x end所以實際上lu...
lua基礎學習 閉合函式(closure)
先看 newcounter function add local i 0 counter function i i add return i endreturn counter endc1 newcounter 1 print c1 print c1 do local oldcounter newc...