手动输入命令到控制台工作但不在程序中
Manually typing commands into console works but not in the program
我遇到一个问题,我可以在 lua 的命令行版本中执行每个功能,但是,当我 运行 该程序时,它不会抛出任何错误,它只是 ends.I我不确定如何诊断这个问题,但我已经尝试过为不同的事情抛出几次错误,它会出错并打印错误。
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
我也将 link 留给完整程序的 pastebin here。
首先,您可以在代码中添加一些输出。只需添加
之类的内容
print "1" -- debug output
...
print "2" -- debug output
...
-- don't forget to remove these after you're done debugging!
到你的代码,看看当 运行 程序时你看到了多少,这样你就可以缩小程序崩溃的确切时间。
此外,我找不到函数 clearMon() 的定义位置,这可能是问题的根源,还是它在其他地方定义?
我遇到一个问题,我可以在 lua 的命令行版本中执行每个功能,但是,当我 运行 该程序时,它不会抛出任何错误,它只是 ends.I我不确定如何诊断这个问题,但我已经尝试过为不同的事情抛出几次错误,它会出错并打印错误。
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
我也将 link 留给完整程序的 pastebin here。
首先,您可以在代码中添加一些输出。只需添加
之类的内容print "1" -- debug output
...
print "2" -- debug output
...
-- don't forget to remove these after you're done debugging!
到你的代码,看看当 运行 程序时你看到了多少,这样你就可以缩小程序崩溃的确切时间。
此外,我找不到函数 clearMon() 的定义位置,这可能是问题的根源,还是它在其他地方定义?