【发布时间】:2017-10-27 13:52:46
【问题描述】:
我这里有一部分 lua 脚本:
local cmp = require("component")
local r = cmp.br_reactor
local e = require("event")
local unicode = require ("unicode")
local exit = false
local buffersize = 10000000
local last_tick_percent = 1
print(type(last_tick_percent))
function stored_energy()
local rf_stored = r.getEnergyStored()
local rf_percent = (rf_stored/buffersize)*100
print(type(rf_precent))
print(type(last_tick_percent))
local delta_percent = rf_percent - last_tick_percent
last_tick_percent = re_percent
return rf_percent.."% ["..rf_stored.."] | "..unicode.char(916)..": "..delta_percent.."%"
end
出于某种原因,甚至没有执行第一次打印。在函数内部,第一次打印返回Number,第二次打印返回nil。
现在我收到错误attempt to perform arithmetic on upvalue "last_tick_percent" ( a nil value),显然是因为last_tick_percent 是nil,print(type(..)) 显示。
但我只是在上面指定了 5 行。
所以问题是:
- 为什么
last_tick_percent为零,我该如何解决? - 为什么第一次打印没有执行?
【问题讨论】: