Lua中的函数定义

维亚切斯拉夫

之间有什么区别

local splitPathFileExtension = function (res)
end

function splitPathFileExtension(res)
end

我知道在第一种情况下此函数是匿名的,但这是唯一的区别吗?

林恩

它们几乎是完全相同的东西(除了您将第一个函数指定为local而不是第二个函数的事实之外)。

请参见有关功能定义手册

该声明

    function f () body end

对应于

    f = function () body end

该声明

    function t.a.b.c.f () body end

转换为

    t.a.b.c.f = function () body end

该声明

    local function f () body end

转换为

    local f; f = function () body end

    local f = function () body end

(这仅在函数的主体包含对f的引用时才有所不同。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章