|
Thanks for that endorsement Hans. despite thier seeming kinship to goto's, I love 'leave' and 'iter'. They make my job so much easier. I hate complicated and nested compound if/else/ constructs. They are confusing and prone to error. My typical exfmt loops look much like this seudo code - the nesting never exceeds 1 level past the do loop, and it's obvious what happens under each condition. I'm either going to go directly to the top of the do loop, exit the do loop, or continue with the next executable inside the do loop. No setting of intermediate variables, no checking-again of variables I've already checked once. (also, note my never-ending-loop of choice ;) begsr dow 1=1 exfmt screen select when *inkc eval *inlr = *on return when *inkl leave when *inkd exsr prompt iter when oneThing exsr DoOneThing leave when anotherThing exsr doAnotherThing iter when somethingElse exsr doSomethingElse other exsr doTheOtherthing endsl exsr editscreen if errors iter end exsr updatefilefromscreen if not stayingHere leave end enddo endsr ----Original message----------- <snip>there's absolutely nothing wrong with LEAVE and ITER. Even if you subscribe to the tenets of "structured programming", when using LEAVE or ITER, your loop still has a single entry and a single exit. By explicitly exiting a construct early, you can often avoid additional levels of nesting. Cheers! Hans
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.