首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lua "if to“语句出错(”end“预期(在第28行结束'if‘))

Lua "if to“语句出错(”end“预期(在第28行结束'if‘))
EN

Stack Overflow用户
提问于 2016-01-18 22:45:01
回答 1查看 898关注 0票数 1

我有个错误说

bios:14:字符串“照明”:58:预期结束(在第28行结束'if‘)

老实说,我不知道自己在做什么,因为我对Lua和一般的编码都很陌生。我认为这与在某个地方没有end有关。

代码语言:javascript
复制
term.clear()
term.setCursorPos(17, 4)
print("Welcome")
sleep(2)
term.setCursorPos(8, 5)
print("What lights would you like to control?")
input = read()
if input == "Hall" then
  term.clear()
  term.setCursorPos(17,4)
  print("On or Off?")
  input = read()
  if input == "on" then
    redstone.setOutput("back", true)
    print("Hall Lighting Turned On")
    sleep(5)
    shell.run("Lighting")
  else
    redstone.setOutput("back", false)
    print("Hall Lighing Turned Off")
    sleep(5)
    shell.run("Lighting")
  if input == "Bedroom" then
  term.clear()
  term.setCursorPos(17,4)
  print("On or Off")
  input = read()
  if input == "on" then
    redstone.setOutput("left", true)
    print("Bedroom Lighting Turned On")
    sleep(5)
    shell.run("Lighting")
  else
    redstone.setOutput("left", false)
    print("Bedroom Lighing Turned Off")
    sleep(5)
    shell.run("Lighting")
  if input == "Labs" then
  term.clear()
  term.setCursorPos(17,4)
  print("On or Off?")
  input = read()
  if input == "on" then
    redstone.setOutput("right", true)
    print("Lab Lighting Turned On")
    sleep(5)
    shell.run("Lighting")
  else
    redstone.setOutput("right", false)
    print("Lab Lighing Turned Off")
    sleep(5)
    shell.run("Lighting")
  end
else
  print("Error")
  sleep(3)
  shell.run("Lighting")
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-18 22:50:47

看起来您在几个地方缺少了end单词。

其结构应如下:

代码语言:javascript
复制
if ... then
  some code
else
  some optional code
end

此外,尝试更好地缩进您的代码。这样你就会清楚地知道你应该把end单词放在哪里。

你想要的可能是:

代码语言:javascript
复制
term.clear()
...
input = read()

if input == "Hall" then
  ...
  if input == "on" then
    ...
  else
    redstone.setOutput("back", false)

    shell.run("Lighting")
  end -- missing end!
end -- missing end!

if input == "Bedroom" then
    ...
  if input == "on" then
    ...
  else
    redstone.setOutput("left", false)
    ...
    shell.run("Lighting")
  end -- missing end!
end -- missing end!

...
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34865463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档