How can I set a lower and upper bound value for a variable in a if-statement in lua programming language? I need something like the pseudocode below.

if ("100000" >= my_variable <= "80000") then do stuff... end 

I've tried different formats but my application keeps crashing.

Update:

To anyone with the same sort of doubts about lua's syntax, i'd recommend checking the documentation here and keeping it handy. It'll be useful while learning.

1

1 Answer

You should convert your string to a number, if you know for sure that it should be a number, and if there is no reason for it to be a string.

Here's how to do a comparison for a range:

myVariable = tonumber(myVariable) if (100000 >= myVariable and myVariable >= 80000) then display.remove(myImage) end 

Notice the and. Most programming languages don't expand the form x < y < z to x < y AND y < z automatically, so you must use the logical and explicitly. This is because one side is evaluated before the other side, so in left-to-right order it ends up going from x < y < z to true < z which is an error, whereas in the explicit method, it goes from x < y AND y < z to true AND y < z to true AND true, to true.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy