Pete wrote:
I'm wondering how LC evaluates If statements with multiple conditions. Are
all conditions evaluated before the overall result is checked for true or
false, or does evaluation proceed left to right and stop as soon as a
condition is found to be false? Whichever method is used, is it affected by
some conditions being enclosed in parens?
IIRC from discussions with Dr. Raney many years ago, at some point he
implemented an optimization in which the first part of any
multi-condition expression that satisfies the expression avoids the need
for evaluation of other conditions. This normally follows in
left-to-right order, but of course using parens can alter the evaluation
order.
So in this conditional expression:
if the short name of this cd is "Pete" and $user <> "pete" then
If the short name of the card <> "Pete" then the engine wouldn't bother
evaluating $user.
--
Richard Gaskin
Fourth World
LiveCode training and consulting: http://www.fourthworld.com
Webzine for LiveCode developers: http://www.LiveCodeJournal.com
LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode