Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
  • 0
Hakz_Studioz

If then loop error

Question

Can you please help tell me what I did wrong in my if then loop? Thank you, and have a good day

Here’s the code (by the way,I’m using a microcontroller): 

local rs  = component.proxy(component.list(“redstone”)())

Local wr = component.proxy(component.list(“modem”)())

 

wr.open(2110)

local x,w,a,d,f,sent = computer.pullSignal()

rs.setOutput(3,100)

#output to front

while true do

if sent = “enon” then

rs.setOutput(3,100)

elseif sent = “enoff” then

rs.setOutput(3,0)

elseif computer.energy() < 150 then

rs.setOutput(3,0)

end

end

the error was “failed loading bios: bios:8: then expected near =“

where exactly?

Again, thank you.

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
local rs  = component.proxy(component.list(“redstone”)())
Local wr = component.proxy(component.list(“modem”)()) --[[
^ capital letter not allowed! Use 'local' ]]

wr.open(2110)

local x,w,a,d,f,sent = computer.pullSignal()

rs.setOutput(3,100)

#output to front --[[
^ this is a shell comment - lua will try (and fail) to parse this!
Learn about Lua comments here: https://www.lua.org/pil/1.3.html ]]

while true do
  if sent = enon then --[[
          ^ here you've missed the distinction between '=' and '=='. 
          While '=' is an assignment operator (such as "local a = 4") then '==' is an equality expression (such as "if sent == 'enon'")
          The distinction is made to prevent you from accidentally doing one when you meant the other. ]]
    rs.setOutput(3,100)
  elseif sent = enoff then --[[
              ^ don't forget to fix this one too ]]
    rs.setOutput(3,0)
  elseif computer.energy() < 150 then
    rs.setOutput(3,0)
  end --[[
  ^ you were missing an 'end' here but it was hard to tell until I added indentation. 
  Giving the program some shape makes it easier to spot grammatical mistakes like these ]]
end

-- I've also removed a lot of the whitespace between each of your lines of code. Bringing it closer together makes it easier to comprehend.

I've taken your code, changed the whitespace a little and annotated it with all the mistakes I spotted.

Hopefully you'll be able to fix up the code yourself!

Also something to beware when pasting code raw - the forum exchanges some symbols to make them more aesthetically pleasing, but this breaks your code - use the "code" button in the editor instead!

 

Hope this helps

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.