Lua local function与function区别

1 使用function声明的函数为全局函数,在被引用时可以不会因为声明的顺序而找不到
2 使用local function声明的函数为局部函数,在引用的时候必须要在声明的函数后面

例子:
下面这段代码会报函数找不到的错误:lua: test.lua:3: attempt to call global ‘test1’ (a nil value)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function test()
    test2()
    test1()
end
 
local function test1()
    print("hello test1")
end
 
function test2()
    print("hello test2")
end
 
test()

  

改为一下两种方式就可以正常运行

1 local function的声明放在引用的前面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
local function test1()
    print("hello test1")
end
 
function test()
    test2()
    test1()
end
 
function test2()
    print("hello test2")
end
 
test()

2 function声明和使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function test()
    test2()
    test1()
end
 
function test1()
    print("hello test1")
end
 
function test2()
    print("hello test2")
end
 
test()

 

posted @   MATU  阅读(557)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
阅读排行:
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· Java24你发任你发,我用Java8
· .NET Core奇技淫巧之WinForm使用Python.NET并打包
· C# 中比较实用的关键字,基础高频面试题!
点击右上角即可分享
微信分享提示