Lua 函数调用顺序及可见性
在 Lua 中,函数的定义顺序决定了它们的可见性。如果一个函数定义在另一个函数的上面,那么它可以被下面的函数调用。但是,如果一个函数定义在另一个函数的下面,那么它不能被上面的函数调用,除非它是一个全局函数。
例如,以下代码展示了一个函数调用另一个函数的示例:
function foo()
bar()
end
function bar()
print('Hello, world!')
end
foo() -- 输出: Hello, world!
在上面的代码中,函数'foo'调用了函数'bar',因为'bar'定义在'foo'的上面。
然而,如果我们交换函数的定义顺序,如下所示:
function bar()
print('Hello, world!')
end
function foo()
bar()
end
foo() -- 将会报错,因为bar()在foo()之后定义
在这种情况下,函数'foo'无法调用函数'bar',因为'bar'定义在'foo'的下面。
如果想要在函数之间相互调用,可以考虑将它们定义在同一级别的作用域内,或者将它们定义为全局函数。
原文地址: https://www.cveoy.top/t/topic/hK39 著作权归作者所有。请勿转载和采集!