|
Jim,
Just because something is common, doesn't make it good. <g> I think this is
pretty much a style thing, and I have to side with Alan on this one. I
dislike having to pass in the size of a variable, so I code the service
procedure accordingly.
If you want use a function call, as in Jon's example:
Eval NiceChar = Center(%Trim(MessyChar): %Size(NiceChar))
you're going to have to pass the size of receiving variable. To avoid this,
I just write the routine as a procedure call, so that the centering is done
within the parameter that it's passed in. For example:
Eval NiceChar = MessyChar
CallP Center( NiceChar )
In my own string library, I have both versions available, but I don't recall
ever having to use the first one.
John Taylor
Canada
----- Original Message -----
From: "Jim Langston" <jlangston@conexfreight.com>
To: <RPG400-L@midrange.com>
Sent: Wednesday, December 22, 1999 15:51
Subject: Re: Procedure Problem
> Actually, passing string lengths I find is a very very common
> requirement in a lot of functions in other languages, most notably
> C.
>
> I do not think it is unreasonable for the person using the library
> function to have to pass the string length.
>
> Regards,
>
> Jim Langston
>
> Alan Campin wrote:
>
> > >> Personally I'd pass the length of the output field to the procedure
using
> > %Size.
> >
> > Would disagree with you there, Jon. I studiously avoid use of passing
the
> > length of the string, especially when writing service program. Including
> > that parm means that I am forcing the user of the function to understand
how
> > the function works instead of just calling the function. It takes some
more
> > work but I have a cleaner implementation. The whole idea as I see it in
> > building a function is to completely hide how it works. Passing the
string
> > length means I am asking the user to do part of the work or, at least,
that
> > is my opinion and we know what those are worth <g>.
>
> <SNIP>
>
> +---
> | 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
> +---
>
+---
| 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.