funkcja Lua
W Lua, funkcja jest główną metodą abstrakcyjnych twierdzeń i wyrażeń. Oba mogą być użyte do czynienia z jakimś szczególnym pracy, może być również wykorzystywane do ustalania pewne wartości.
Lua posiada wiele wbudowanych funkcji, łatwo można do nich zadzwonić, takich jak drukarki function () można przekazać parametry drukowania na konsoli w programie.
Funkcja Lua Istnieją dwa główne cele:
- 1. wypełnić przypisane zadania, w tym przypadku służy jako oświadczenie wywołania funkcji;
- 2. Obliczyć i zwraca wartość, w tym przypadku funkcja jest używana jako wyrażenie przypisania.
definicja funkcji
Lua funkcje języka programowania określone w następującym formacie:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separated end
Rozdzielczość:
- optional_function_scope : Ten parametr jest opcjonalna funkcja jest opracowanie funkcję globalną lub lokalną funkcji, koniec parametr nie jest ustawiony na funkcję globalnego, jeśli trzeba ustawić funkcję jest częściowa funkcja musi użyć słowa kluczowego local.
- function_name: Określ nazwę stanowiska.
- argument1, argument2, argument3 ... argumentn : Parametry funkcji, wiele parametrów oddzielonych przecinkami, może również funkcjonować bez parametrów.
- function_body: Ciało funkcji, oświadczenia kod bloków funkcyjnych muszą być wykonywane.
- result_params_comma_separated: wartości zwracanej przez funkcję, funkcję języka Lua mogą zwracać wiele wartości, oddzielonych przecinkami.
Przykłady
Poniższy przykład definiuje funkcjimax (), parametry num1, num2, wykorzystywane do porównywania wielkości dwóch wartości i zwraca maksymalną wartość:
--[[ 函数返回两个值的最大值 --]] function max(num1, num2) if (num1 > num2) then result = num1; else result = num2; end return result; end -- 调用函数 print("两值比较最大值为 ",max(10,4)) print("两值比较最大值为 ",max(5,6))
Powyższy kod jest wykonywany w wyniku:
两值比较最大值为 10 两值比较最大值为 6
Lua możemy funkcjonować jako parametr przekazany do funkcji, następujące przykłady:
myprint = function(param) print("这是打印函数 - ##",param,"##") end function add(num1,num2,functionPrint) result = num1 + num2 -- 调用传递的函数参数 functionPrint(result) end myprint(10) -- myprint 函数作为参数传递 add(2,5,myprint)
Powyższy kod jest wykonywany w wyniku:
这是打印函数 - ## 10 ## 这是打印函数 - ## 7 ##
Wiele wartości powrotne
Funkcja Lua mogą zwracać wiele wartości wynikowe, takie jak string.find, która zwraca dopasowanie ciąg "początek i koniec dolny" (jeśli nie ma powraca mecz smyczkowe nil).
> s, e = string.find("www.w3big.com", "w3big") > print(s, e) 5 10
Funkcja Lua, po powrocie warto zwrócić listę list może zwracać wiele wartości, takich jak:
function maximum (a) local mi = 1 -- 最大值索引 local m = a[mi] -- 最大值 for i,val in ipairs(a) do if val > m then mi = i m = val end end return m, mi end print(maximum({8,10,23,12,5}))
Powyższy kod jest wykonywany w wyniku:
23 3
parametrem zmiennym
Funkcja Lua mogą przyjmować różną liczbę argumentów i języka C podobnie jak w przypadku listy parametrów funkcji trzypunktowy (...) oznacza funkcję o zmiennych parametrach.
Parametry funkcji Lua w tabeli o nazwie arg, #arg oznacza liczbę parametrów przekazywanych.
Na przykład, możemy obliczyć średnią z kilku liczbach:
function average(...) result = 0 local arg={...} for i,v in ipairs(arg) do result = result + v end print("总共传入 " .. #arg .. " 个数") return result/#arg end print("平均值为",average(10,5,3,4,5,6))
Powyższy kod jest wykonywany w wyniku:
总共传入 6 个数 平均值为 5.5