Latest web development tutorials

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