>> You don't want do have a postfix { ... } if condition. It's evil
>I don't see how this is any worse than a postfix while()
Look closer: do { ... } while does not require the reader to
scan down to find out the condition *BEFORE* the loop is
entered. With an if, it does.
>> Because it hides the decision way down at the bottom, despite its
>> having been made first.
>We already have a trailing if statement, so this argument is edgy, at
>best.
Your brain/eye can look one statement. It's evil and wrong to make
it look infinite statements forward. How can you pretend those are
the same?
>Granted, the do {} is misleading. A do {} block is always executed, at
>least once.
No, it's not.
do { .... } if 0;
never executes. Nay, not even once.
--tom