|
Hi John, and John, Looks like you still end up with the same amount of source code and no indication in the name of what parameters are allowed. Wouldn't you really want a prototype like DDaysDur PR 5I 0 OPDESC D Date1 * D Date2 * and hopefully have the operational descriptors tell you what type and size of parameters were actually passed on a given call? Peter Dow Dow Software Services, Inc. 909 425-0194 voice 909 425-0196 fax ----- Original Message ----- From: "John Taylor" <john.taylor@telusplanet.net> To: <RPG400-L@midrange.com> Sent: Wednesday, May 09, 2001 6:33 PM Subject: RE: Overloading in RPG. > John, > > Like most features of a language, it's up to the programmer to use it > appropriately. Here is another example that might help ignite your > imagination: > > Without overloading: > > > DDaysDurC PR 5I 0 > D CharDate1 8A > D CharDate2 8A > > DDaysDurN PR 5I 0 > D NumDate1 8P 0 > D NumDate2 8P 0 > > DDaysDurCN PR 5I 0 > D CharDate1 8A > D NumDate2 8P 0 > > DDaysDurNC PR 5I 0 > D NumDate1 8P 0 > D CharDate2 8A > > > C Eval Days = DaysDurC(Cdate1: Cdate2) > C Eval Days = DaysDurN(Ndate1: Ndate2) > C Eval Days = DaysDurCN(Cdate: Ndate) > C Eval Days = DaysDurNC(Ndate: Cdate) > > > With overloading: > > DDaysDur PR 5I 0 > D CharDate1 8A > D CharDate2 8A > > DDaysDur PR 5I 0 > D NumDate1 8P 0 > D NumDate2 8P 0 > > DDaysDur PR 5I 0 > D CharDate1 8A > D NumDate2 8P 0 > > DDaysDur PR 5I 0 > D NumDate1 8P 0 > D CharDate2 8A > > > C Eval Days = DaysDur(Cdate1: Cdate2) > C Eval Days = DaysDur(Ndate1: Ndate2) > C Eval Days = DaysDur(Cdate: Ndate) > C Eval Days = DaysDur(Ndate: Cdate) > > > One function name to remember instead of 4, simpler code in the calling > procedure, and potentially fewer maintenance issues. > > > John Taylor > Canada > > > > -----Original Message----- > > From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On > > Behalf Of jpcarr@tredegar.com > > Sent: Wednesday, May 09, 2001 3:37 PM > > To: RPG400-L@midrange.com > > Subject: RE: Overloading in RPG. > > > > > > > > >The main idea behind overloading is that you can have same named sub > > >procedures with _different_ amounts of parms or _different_ parm types > > >passed to them. > > > > > > > > I know what you mean, I am just saying that using the "Number of parms > > passed" as the method(haha) of telling you that this thing can do > > more than > > one thing, I feel is dubous. > > > > It obscures what the thing does. > > > > >>EVAL RC = OPEN(%ADDR(FILENAME): OFLAG)<< > > > > Opens the IFS file doing translation, > > > > >>EVAL RC = OPEN(%ADDR(FILENAME): OFLAG: OMODE: CODEPAGE) << > > > > Opens the IFS file with the right codepage, authority, etc(both depending > > on the flags set) > > > > It just seems stupid. Explaining that "First I Open it with the right > > code page, and create, etc, THEN > > OF COURSE I have to close it so that I can Open it again and tell it to do > > translation" > > > > I understand it, It just seems a silly way of telling a function what you > > want to do by the NUMBER of parms passed. > > I can see the value of the "principle of overloading" Again I > > implemented > > it in CL 15 years ago with one CL doing 15 functions passing it an > > externally defined D/S with a Function Number being one of the > > subfields(ie 1- 15). > > Was it C++ or Java? No, But it still used the "princple" of overloaded > > functions. > > > > > > Just an opinion nothing more Thats all, > > > > John > > > > > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-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.