"bios.lua:26: [string "turbinecontrol"]:15: 'then' expected" 我不知道为什么会这样

"bios.lua:26: [string "turbinecontrol"]:15: 'then' expected" I have no idea why this is happening

尝试用计算机控制我的 extremereactor 涡轮机,这样我就不必一直管理它们了,我对 lua 总体来说还很陌生,所以我真的很想得到一些帮助,也许还有一些关于其他方面的额外建议可能 wrong/im 做错的事情,我计划有一个显示器显示涡轮机的统计数据,并能够在我弄清楚如何做到这一点后 on/off 转动它们

turbine1 = peripheral.wrap("top")
turbine2 = peripheral.wrap("right") -- i know doing this is probably wrong

turbine1.setActive(true)
turbine2.setActive(true)

turbine1.setVentOverflow(true)
turbine2.setVentOverflow(true)

turbine1.setFluidFlowRateMax(2000)
turbine2.setFluidFlowRateMax(2000)

while true do then
  if turbine1.getRotorSpeed() >= 20000
    turbine1.setInductorEngaged(true) -- line which its complaining about with "bios.lua:26: [string "turbinecontrol"]:15: 'then' expected"
    print("Turbine 1 Inductor Engaged")
    wait(5)
    print("Turbine 1 Generating" ... turbine1.getEnergyProducedLastTick())
  end

  if turbine1.getRotorSpeed() < 10000
    turbine1.setInductorEngaged(false)
    print("Turbine 1 Inductor Disengaged")
  end

  if turbine2.getRotorSpeed() >= 20000
    turbine2.setInductorEngaged(true)
    print("Turbine 2 Inductor Engaged")
    wait(5)
    print("Turbine 2 Generating" ... turbine2.getEnergyProducedLastTick())
  end

  if turbine2.getRotorSpeed() < 10000
    turbine2.setInductorEngaged(false)
    print("Turbine 2 Inductor Disengaged")
  end

end```

你的语法有点不对劲。 首先,您在第 14 行得到了 while true do then,而这应该只是 while true do,其次,只要您有一个 if 语句,例如。 if turbine1.getRotorSpeed() >= 20000 你需要一个 then 来终止条件。因此这应该看起来像 if turbine1.getRotorSpeed() >= 20000 then