我爱吃火锅 2016-04-11 13:04 采纳率: 33.3%
浏览 2266
已结题

lua初学者 关于local函数的一个问题

local f,g
local function f()
print("Hello f1!");
g()
end

local function g()
print("Hello g1!");
end
f()

如上,运行的时候为何会报错?实际上,我理解最开始已经声明了函数g,所以函数f中调用g的时候是应该可以找到的~
报错如下
Hello f1!
lua: localFunction.lua:4: attempt to call upvalue 'g' (a nil value)
stack traceback:
localFunction.lua:4: in function 'f'
localFunction.lua:10: in main chunk
[C]: ?

  • 写回答

2条回答 默认 最新

  • Wildwind79 2016-04-12 01:49
    关注

    执行的时候g还未初始化。函数g的定义放前面。

    评论

报告相同问题?