Ручной ввод команд в консоль работает, но не в программе
У меня проблема, когда я могу выполнить каждую функцию в версии lua для командной строки, однако, когда я запускаю программу, она не выдает никаких ошибок, она просто завершается. Я не уверен, как это диагностировать, но у меня есть попытался получить ошибку, которая будет выдана несколько раз для разных вещей, и она выдаст ошибку и напечатает ошибку.
power = peripheral.wrap("bottom")
mon = peripheral.wrap("top")
x,y = mon.getSize()
clearTerm = function()
term.clear()
term.setCursorPos(1,1)
end
clearBoth = function()
clearMon()
clearTerm()
end
intLen = function(bar)
tab = tostring(bar)
tab = string.len(tab)
return tab
end
checkPower = function()
total = power.getMaxEnergyStored()
local til = intLen(total)
local yy = math.floor(y/2)
local tol = math.floor(x-til)
mon.setCursorPos(yy+0,tol/2)
for z=1,til do mon.write("-") end
mon.setCursorPos(yy-1,tol/2)
mon.write(total)
while true do
current = power.getEnergyStored()
local cil = intLen(current)
local col = math.floor(x-cil)
mon.setCursorPos(yy+1,col/2)
mon.write(current)
sleep(1)
end
end
Я также оставлю здесь ссылку на текстовый файл полной программы.
1 ответ
Прежде всего, вы можете добавить некоторые выводы в ваш код. Просто добавьте такие вещи, как
print "1" -- debug output
...
print "2" -- debug output
...
-- don't forget to remove these after you're done debugging!
к вашему коду и посмотрите, сколько из них вы видите при запуске программы, таким образом, вы можете сузить, когда именно происходит сбой программы.
Кроме того, я не могу найти, где определена функция clearMon(), это может быть источником проблемы, или она определена в другом месте?