この質問は単純に思えますが、Lua で関数を作成する 2 つの方法の違いを知りたいです。
local myFunction = function()
--code code code
end
またはこれを行う
local function myFunction()
--code code code
end
違いは、マニュアルによると次のとおりです。
ステートメント
local function f () body end
に変換します
local f; f = function () body end
しない
local f = function () body end
(これは、関数の本体に f への参照が含まれている場合にのみ違いがあります。)
主な理由は、変数のスコープ (変数が表示される場所) が local ステートメントの後に開始され、関数が再帰的である場合、それ自体を参照するのではなく、名前が付けられた以前のローカルまたはグローバルを参照するためf
です。