On Tue, 5 Jun 2001, [utf-8] Amos Shapira wrote:
> I considered this but:
>
> 1. It's not always clear (especially if the predicate is complex) that the
> "else" predicate is the opposite of the "if".
> 2. Worse - whenever you change the "if" predicate you have to remember
> to change the "else" too. Very unmaintainable over time.
> 3. It's not clear that the two are actually related to each other.
> 4. You have to consider side-effects (as you said - if the "if" changes
> "x", but also if the evaluation of "x" has side effects).
Simple. Just set a DIFFERENT flag variable whenever you trip the "real IF"
and test the _flag_ for the "ELSE".
In pseudocode:
x_else_flag = true;
if x then x_else_flag = false; blah blah blah;
if x_else_flag then do_the_else_thingy;
//Mikko