Reputation: 2668
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.
Upvotes: 19
Views: 119718
Reputation: 70552
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
.
Upvotes: 36