lua関数
1832 ワード
1.関数定義
luaはfunction定義関数を使用し、構文は次のとおりです.
上記の方法では、ネーミングスペースを汚染せずにパフォーマンス損失を低減するために、できるだけローカル関数を使用する必要があります(functionの前にlocal宣言を追加すればよい)グローバル関数を定義しました.
2.関数パラメータ
関数はいくつかの規則を参照する.パラメータの個数がパラメータの個数より大きい場合、左から右へ、余分な実パラメータは無視される.パラメータの個数がパラメータの個数より小さい場合、左から右へ、初期化されていないパラメータがnil 3に初期化される.luaは変長パラメータをサポートします.で...パラメータリストの後ろに表示されます.可変長パラメータには対応するパラメータのリストはありません.彼はすべてのパラメータを集めて変参式に入れます(...).この式の値はすべてのパラメータ値を表します.関数が値を多く返す場合と似ています.1つのパラメータ式が他の式の内部にあるか、またはいくつかの式の中間にある場合、彼はlocal cc,dd,ee=a,...などの要素のみを返します.34. この式が式リストの最後にある場合、カッコを使用しない限り、パラメータを調整しません.
たとえば、次の3つの関数があります.
入力されたパラメータとパラメータのマッピングは次のとおりです.
3.関数の例
次のようにmax関数を定義し、パラメータはn 1,n 2であり、両数値のサイズを比較するために使用される.
お礼を言います.
LUA可変長パラメータ...3点
luaはfunction定義関数を使用し、構文は次のとおりです.
function fun_name(args) --args ,
--body
end
上記の方法では、ネーミングスペースを汚染せずにパフォーマンス損失を低減するために、できるだけローカル関数を使用する必要があります(functionの前にlocal宣言を追加すればよい)グローバル関数を定義しました.
local function fun_name(args) --args ,
--body
end
2.関数パラメータ
関数はいくつかの規則を参照する.パラメータの個数がパラメータの個数より大きい場合、左から右へ、余分な実パラメータは無視される.パラメータの個数がパラメータの個数より小さい場合、左から右へ、初期化されていないパラメータがnil 3に初期化される.luaは変長パラメータをサポートします.で...パラメータリストの後ろに表示されます.可変長パラメータには対応するパラメータのリストはありません.彼はすべてのパラメータを集めて変参式に入れます(...).この式の値はすべてのパラメータ値を表します.関数が値を多く返す場合と似ています.1つのパラメータ式が他の式の内部にあるか、またはいくつかの式の中間にある場合、彼はlocal cc,dd,ee=a,...などの要素のみを返します.34. この式が式リストの最後にある場合、カッコを使用しない限り、パラメータを調整しません.
たとえば、次の3つの関数があります.
function f(a,b) end
function g(a,b,...) end
function r() return 1,2,3 end
入力されたパラメータとパラメータのマッピングは次のとおりです.
CALL PARAMETERS
f(3) a=4,b=nil -- b b nil
f(4,5) a=4,b=5 --
f(3,4,5) a=3,b=4 --
f(r(),10) a=1,b=10 -- ,
f(r()) a=1,b=2 --
g(3) a=3,b=nil, ... -->(nothing) --b ... nil
g(3,4) a=3,b=4, ... -->(nothing) -- nil
g(3,4,5,6) a=3,b=4, ... -->5 6 -- ,
g(5,r()) a=5,b=1, ... -->2,3 -- b , b 。 ,
3.関数の例
次のようにmax関数を定義し、パラメータはn 1,n 2であり、両数値のサイズを比較するために使用される.
function max(num1,num2)
if (num1>num2) then
result = num1
else
result = num2
end
return result
end
print(" ",max(10,10))
お礼を言います.
LUA可変長パラメータ...3点