|
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
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.