If statements vs case

Shao Sean shaosean at wehostmacs.com
Mon Feb 26 14:27:05 EST 2007


There are differences between SWITCH and IF-ELSE-IF statements in other 
languages, but in regards to Revolution someone from the engine team 
would be best to answer it.

In many languages SWITCH statements are converted into a hash table for 
much quicker lookups and using a SWITCH once or twice is slower than 
using an IF-ELSE-IF statement due to the SWITCH statement getting 
hashed, but using the same SWITCH statement multiple times will 
increase the speeds.
Also, because of the fact that an IF-ELSE-IF statement is _always_ 
evaluated, they can never be faster than a SWITCH statement (they can 
be just as fast, but never faster)

There are a few other differences between SWITCH and IF-ELSE-IF 
statements that do not seem to apply to  Revolution due to the fact you 
can use SWITCH statements just like an IF-ELSE-IF statement. Example;

switch
case (tLUET < 42)
   # do something
   break
case (tLUET > 42)
   # do something
   break
case (tLUET = 42)
   # do something
   break
default
   # do something
   break
end switch

The above would usually need to be done with a IF-ELSE-IF statement 
but, as you can see, Revolution can do it as a SWITCH statement.

-Sean




More information about the use-livecode mailing list