In all your examples, you support my position.  1 way in, 1 way out.  Though to 
your point, you have clean, concise clean code.

John Israel

-----Original Message-----
From: owner-u2-us...@listserver.u2ug.org 
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of MAJ Programming
Sent: Friday, February 27, 2009 3:23 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] DO/WHILE vs IF THEN

I should offer a contrary opinion.

I support many sets of differently developed code with all my clients. When
properly indented, the EXIT is a logical way to conclude the visit in the
loop without labeling the REPEAT or introducing other DONE 'style'
variables. The code actually shrinks by a few lines. Example:

<Before>
GOOD.ANS=FALSE
LOOP UNTIL GOOD.ANS DO
   PRINT "ENTER 'Y' OR 'N' ":;INPUT ANS
   IF ANS="Y" OR ANS="N" THEN GOOD.ANS=TRUE
REPEAT

<after>
LOOP WHILE TRUE DO
   PRINT "ENTER 'Y' OR 'N' ":;INPUT ANS
   IF ANS="Y" OR ANS="N" THEN EXIT
REPEAT

Or my favorite code shrinking syntax:

<before>
EOF=0
LOOP
   READNEXT ID ELSE EOF=0
UNTIL EOF DO
{process}
REPEAT

<after>
LOOP WHILE READNEXT ID DO
  {process}
REPEAT

When I see code that has been heavily flagged I have to scratch my head.
EXIT and CONTINUE have been around at least as long as U2 has. I know that
they weren't there during the Jurrasic Pick era.

My 1 cent,
Mark Johnson

Maybe I follow poor programmers who got flag-crazy.
----- Original Message -----
From: "David A. Green" <dgr...@dagconsulting.com>
To: <u2-users@listserver.u2ug.org>
Sent: Friday, February 27, 2009 1:25 PM
Subject: RE: [U2] DO/WHILE vs IF THEN


> George,
>
> In my opinion you lose the elegance and readability of the LOOP construct
> when you use EXIT.  Code is easier to debug and enhance when Loops and
> Subroutines have one entry and one exit.
>
> Thanks,
> David A. Green
> www.dagconsulting.com
> (480) 813-1725
>
>
> -----Original Message-----
> From: owner-u2-us...@listserver.u2ug.org
> [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of George Gallen
> Sent: Friday, February 27, 2009 9:20 AM
> To: Ardent
> Subject: [U2] DO/WHILE vs IF THEN
>
> OK Aside from programming styles
>
> Is there any "functional" difference between
>
> WHILE expression DO    and     IF NOT(expression) THEN EXIT
> and
> UNTIL expression DO    and     IF expression THEN EXIT
>
>
> First I thought that the DO/WHILE would activate as soon as
> the condition occurred and drop out of a loop, but that is not
> the case, the condition has to be active AND control has to be
> back at the WHILE statement.
>
>
> Example:
>
> 0001: CTR=0
> 0002: LOOP
> 0003:   CTR=CTR+1
> 0004:   WHILE CTR<4 DO
> 0005:   PRINT CTR
> 0006:   CTR=CTR+1
> 0007:   PRINT CTR
> 0008:   CTR=CTR+1
> 0009:   PRINT CTR
> 0010:   CTR=CTR+1
> 0011:   PRINT CTR
> 0012:   CTR=CTR+1
> 0013:   PRINT CTR
> 0014:   CTR=CTR+1
> 0015:   PRINT CTR
> 0016:   CTR=CTR+1
> 0017:   PRINT CTR
> 0018: REPEAT
> 0019: STOP
> 0020: END
>
> My first thought was that once CTR = 5, the loop would end (at LINE 12)
but
> it
> didn't
> until control was passed back to LINE 4, then it ended.
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to