• Subject: Re: what is unclear - LEAVE
  • From: Jeff Gunter <JeffGunter@xxxxxxxxxxxx>
  • Date: Tue, 12 May 1998 22:25:05 -0500

Mea culpa.
That ugly bit of code I wrote was the first thing that came to my mind when I
woke up this morning.  I realized what several of you spotted immediately.... my
"DO" loop would only execute once.  Thanks for being kind in your comments !!!

Red-faced, but still trying.....

    Jeff

    To "DO" or not to "DO"?
    That is the question.
    When is a loop not a loop?
    When it's Jeff's suggestion.


Stone, Brad V (TC) wrote:

> It will only read the file once.. Is that what you meant to do?
>
> Bradley V. Stone
> bvstone@taylorcorp.com
> http://prairie.lakes.com/~bvstone/
> "She's into Malacas, Dino."
>
> > -----Original Message-----
> > From: Jeff Gunter [SMTP:JeffGunter@as400guy.com]
> > Sent: Monday, May 11, 1998 7:22 PM
> > To:   MIDRANGE-L@midrange.com
> > Subject:      Re: what is unclear - LEAVE
> >
> > I don't want to beat this to death, but Simon's last example could be
> > further simplified (I know... so what?) and I think be just as clear
> > as follows:
> >
> > C        DO
> > C        READ   FORMAT             90
> > C  90    LEAVE
> > C     <<DO STUFF>>
> > C        ENDDO
> >
> > Believe me, I don't want to restir the conditioning indicator pot
> > again, but in this case, I think it is pretty clear its purpose.
> > Control of the section of code is clearly associated with the activity
> > (READ).  This isn't pure structured code, but it reads well.
> >
> > --
> > Jeff Gunter
> > IBM Certified Specialist - AS/400 RPG Programmer
> > _______________________________________
> > Visit my Web Site at:
> >
> > <http://www.as400guy.com/>
> >
> >
> >
> > Simon Coulter wrote:
> >
> >       Hello Paul,
> >
> >       The priming read isn't sloppy; it's a standard design pattern.
> > It avoids the extra IF test (inside the loop) to
> >       cope with EOF which means half as many tests in your loop
> > construct.  For example:
> >
> >       C       *IN90   DOUEQ   *ON
> >       C               READ    FORMAT
> > 90
> >       C       *IN90   IFEQ    *OFF
> >        *              do stuff
> >       C               ENDIF
> >       C               ENDDO
> >
> >       Of course many of the list members would code that as:
> >
> >       C       *IN90   DOUEQ   *ON
> >       C               READ    FORMAT
> > 90
> >       C  90           LEAVE
> >        *              do stuff
> >       C               ENDDO
> >
> >       But you still get the unnecessary extra test.
> >
> >       I used to code this way until I measured the cost of the extra
> > tests over millions of records.  Changing to the
> >       the priming read and a DOW saved many minutes in a job where
> > those saved minutes counted.  Now it's habit.
> >
> >       Regards,
> >       Simon Coulter.
> >
> >       //----------------------------------------------------------
> >       // FlyByNight Software         AS/400 Technical Specialists
> >       // Phone: +61 3 9419 0175      Mobile: +61 3 0411 091 400
> >       // Fax:   +61 3 9419 0175      E-mail: shc@flybynight.com.au
> >       //
> >       // Windoze should not be open at Warp speed.
> >
> >
> >       //--- forwarded letter
> > -------------------------------------------------------
> >       > Date: Thu, 07 May 98 21:51:11 -0400
> >       > From: "PaulMmn" <PaulMmn@ix.netcom.com>
> >       > To: MIDRANGE-L@midrange.com
> >       > Reply-To: MIDRANGE-L@midrange.com
> >       > Subject: Re: what is unclear - LEAVE
> >
> >       >
> >       > >(BTW, my preference is a DOW with a priming read, and a read
> > at the bottom
> >       > >of the loop)
> >       > >
> >       > >Regards,
> >       > >
> >       > >Rick
> >       >
> >       >
> >       > It's always struck me as sloppy coding to require 2 reads for
> > the same
> >       > file...   (:  I'm not really sure of what logic I like to
> > eliminate this
> >       > 'priming read,' but I know I don't like that extra read.
> >       >
> >       >
> >       > --Paul E Musselman
> >       > PaulMMn@ix.netcom.com
> >
> >       +---
> >       | This is the Midrange System Mailing List!
> >       | To submit a new message, send your mail to
> > MIDRANGE-L@midrange.com.
> >       | To unsubscribe from this list send email to
> > MIDRANGE-L-UNSUB@midrange.com.
> >       | Questions should be directed to the list owner/operator:
> > david@midrange.com
> >       +---
> >
> >
> >
> >
> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator: david@midrange.com
> +---



--
Jeff Gunter
IBM Certified Specialist - AS/400 RPG Programmer
_______________________________________
Visit my Web Site at:

http://www.as400guy.com/


+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].