0

每次此程序启动时,程序在服务器重新启动后运行,出现此错误:

启动:13:尝试调用 nil

当我注释掉那行代码时,之后的行和之后的行都会发生同样的情况。

直到所有这四行。(round(math.floor)行)然后程序启动。

程序中需要这四个变量,因此在将它们注释掉的情况下它不会运行良好。

如果我现在取消注释这些行,程序将完美启动并且一切正常。

有什么理由我做错了吗?

4

1 回答 1

3

函数必须在调用之前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
于 2015-04-14T16:31:55.397 回答