我是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
答案 0 :(得分:2)
:22:告诉你错误发生在脚本的第22行附近,即 else 。如果您查看Lua参考指南,您会看到 else 属于 if 语句,而不是 while 语句。
你的代码应该如下所示,因为这里没有意义
if input == ja
then
... code ...
else
... other code ...
end