Lua For Variable In Range

2019-02-26 18:04发布

问题:

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

回答1:

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


回答2:

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