手动键入命令到控制台工作但不在程序中

时间:2016-03-12 23:26:49

标签: lua computercraft

我遇到了一个问题,我可以在命令行版本的lua中执行每一项功能但是,当我运行该程序时,它不会抛出它刚刚结束的任何错误。我' m不确定如何诊断这个,但我已经尝试过为不同的事情抛出几次错误,它会出错并打印错误。

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

我也会留下指向完整程序here的pastebin的链接。

1 个答案:

答案 0 :(得分:0)

首先,您可以在代码中添加一些输出。只需添加

之类的内容即可
print "1" -- debug output
...
print "2" -- debug output
...
-- don't forget to remove these after you're done debugging!

到你的代码,看看你在运行程序时看到了多少,这样你就可以缩小程序崩溃的时间。

另外,我找不到定义函数clearMon()的位置,可能是问题源,还是在别处定义?