如何追踪基本的LUA错误?

时间:2017-08-25 14:14:49

标签: lua

我是LUA的初学者,所以我遇到了一些麻烦。我正在使用名为Computercraft的Minecraft mod的代码,但对我而言,这是对编程的一个很好的介绍。

我一直在搜索网络,找出为什么我的代码甚至连26行都没有失败,但我无法找到它。

以下是代码:

monitor = peripheral.wrap("right")
monitor.clear()
monitor.setCursorPos(1,1)
monitor.setTextScale(1)
monitor.print("Current mode:")
monitor.setCursorPos(1,3)
monitor.print("Dust gaat naar furnace")
redstone.setOutput(back,false)
print("Dust gaat automatisch naar de furnace toe")
print("Wil je dat de dust naar de chest gaat in plaats van de furnace?")
write()
while input == ja
do
  print("Oke :)")
  redstone.setOutput(back,true)
  monitor.clear()
  monitor.setCursorPos(1,1)
  monitor.print("Current mode:")
  monitor.setCursorPos(1,3)
  monitor.print("Dust gaat naar chest")
end
else
  print("Okeuu dan niet jongee")
end

我知道我已经使用了' end' 2次。这是因为我删除它时会出错。

运行程序时出现的错误是:

bios:14: [string ".temp"]:22: '<eof>' expected.

The error I get when I remove the first 'end'.

The error I get when I remove the second 'end'.

修改 好吧,经过一些建议我设法摆脱错误。 感谢所有响应的人! C: 现在我得到了另一个错误,虽然哈哈。 如我所知,我发了一篇关于它的新帖子:Basic LUA problems

1 个答案:

答案 0 :(得分:2)

:22:告诉你错误发生在脚本的第22行附近,即 else 。如果您查看Lua参考指南,您会看到 else 属于 if 语句,而不是 while 语句。

你的代码应该如下所示,因为这里没有意义

if input == ja
then
  ... code ...
else
  ... other code ...
end