function returnNumPlus1(num)
return num + 1
end
print(returnNumPlus1(0))
print(returnNumPlus1(9000))
local func1 = returnNumPlus1
print(func1(11))
我正在测试它以试图让它无误地工作,但我总是得到与我在下面发布的相同的错误。我对lua相当新,所以我希望我可以让这个工作:D 并发出错误:
stdin:1: attempt to call global 'func1' (a nil value)
stack traceback
stdin:1: in main chunk
[C]: ?
有谁知道为什么?谢谢!
答案 0 :(得分:3)
假设您在lua REPL中运行此代码,则需要将func1
定义为全局而不是本地,因为本地上下文特定于REPL中的每一行执行,并且不可用于下一行。< / p>
尝试:
function returnNumPlus1(num)
return num + 1
end
print(returnNumPlus1(0))
print(returnNumPlus1(9000))
func1 = returnNumPlus1
print(func1(11))