Lua - Computercraft - 尝试调用 nil,但有时有效..?
Lua - Computercraft - attempt to call nil, but works sometimes..?
每次 this program 启动,程序 运行s 在服务器重新启动后出现此错误:
startup:13: attempt to call nil
当我注释掉那行代码时,同样的情况也发生在之后的那一行,再之后。
直到所有这四行。 (round(math.floor)
行)
然后程序启动。
程序中需要这四个变量,因此 运行 将它们注释掉后效果不佳。
如果我现在取消对这些行的注释,程序将完美启动并且一切正常。
我做错了什么原因?
函数必须在调用之前定义(round
在第 72 行定义,但在第 5 行调用)。您可以在定义函数之前声明它:
function program()
local round -- forward declaration
while true do
-- call function defined below
turbEnergy = round(math.floor(turbine.getEnergyStored())/100000,1)
-- function definition
function round(val, decimal)
end
每次 this program 启动,程序 运行s 在服务器重新启动后出现此错误:
startup:13: attempt to call nil
当我注释掉那行代码时,同样的情况也发生在之后的那一行,再之后。
直到所有这四行。 (round(math.floor)
行)
然后程序启动。
程序中需要这四个变量,因此 运行 将它们注释掉后效果不佳。
如果我现在取消对这些行的注释,程序将完美启动并且一切正常。
我做错了什么原因?
函数必须在调用之前定义(round
在第 72 行定义,但在第 5 行调用)。您可以在定义函数之前声明它:
function program()
local round -- forward declaration
while true do
-- call function defined below
turbEnergy = round(math.floor(turbine.getEnergyStored())/100000,1)
-- function definition
function round(val, decimal)
end