Lua 与我习惯的语言不同的一件事是,放置变量和函数声明的顺序很重要。在函数中,您不能访问在函数之后声明的局部变量。例如:
local function foo()
return bar
end
local bar = 4
print(foo()) -- prints nil instead of 4
如果您尝试从之前声明的函数访问本地函数,情况也是如此。
在某些情况下,如果您只注意以正确的顺序声明事物,这一切都可以解决。但是,如果您有两个或多个需要相互调用的函数怎么办?函数必须是全局的,还是有一些方法可以用局部函数来做到这一点?