azonicrider
azonicrider

Reputation: 219

Lua For Variable In Range

I can't seem to get this to work. I come from Python, so I tried using the same syntax for the hell of it, but it unsurprisingly wouldn't work:

var = 4

for var in range(2,20) do
print ("var is in range")
      end

Upvotes: 19

Views: 38649

Answers (2)

daurnimator
daurnimator

Reputation: 4311

You could write your range function easily enough:

function range ( from , to )
    return function (_,last)
            if last >= to then return nil
            else return last+1
            end
        end , nil , from-1
end

Upvotes: 5

lhf
lhf

Reputation: 72312

If you want to test whether a value is in a range, use

if var>=2 and var<=20 then
   print ("var is in range")
end

If you want a loop, use

for var=2,20 do
   print(var)
end

Upvotes: 34

Related Questions