|
Subject: Re: Not valid? Dow (p = %scan( '~' : SPdetl : PosLastDelim + 1))> 0;
From: jon.paris@xxxxxxxxxxxxxx
Date: Fri, 11 Sep 2015 12:02:38 -0400
To: rpg400-l@xxxxxxxxxxxx
That’s cheating John <grin> - I absolutely agree that it is “fighting” the language.
To me one of the most valuable points of using subprocs is that I should be able to rely on the fact that only the receiver changes and not any of the parms. If you can’t be sure of that then a subproc has the same problems as a subroutine i.e. you have to go look at the code before you can be sure what it does.
By the way - I was not commenting on Chris’ option (should have made that clear) but I never received the original post so I commented on what I saw.
On Sep 11, 2015, at 11:31 AM, John Yeung <gallium.arsenide@xxxxxxxxx> wrote:
On Fri, Sep 11, 2015 at 11:19 AM, Jon Paris <jon.paris@xxxxxxxxxxxxxx> wrote:
The simple version of the code would be:
Dow %scan( '~' : SPdetl : PosLastDelim + 1)> 0;
But of course that would not give you access to the current value. If you need p then it has to be two separate operations - RPG cannot combine an assignment with a condition as you can do in some other languages.
You absolutely can in RPG: you just have to define a procedure that
both returns a value AND modifies its parameters. That was the whole
point of Chris's suggestion.
Personally, I think this is not a good use of procedures (the
avoidance of one line of idiomatic RPG code). Even if you use this
kind of loop all over the place (so that you achieve a net savings in
lines of code), to me this amounts to fighting the language.
John Y.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
Jon Paris
www.partner400.com
www.SystemiDeveloper.com
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.