This (coding wise) is off the top of my head with no testing so ....

Variable length arrays are cleared (or set to any size) via %elem - so:

%elem(Dynarray) = 0;

Using Clear I would expect to simply set all currently active elements to their default values.

%Split is documented as ignoring consecutive delimiters. I wish it wasn't so but that is by design apparently.

Only way to make it work is to pre-process the string to insert a non-delimiter character between them.

Well I guess there are other ways as well but ...


Jon P

On May 11, 2022, at 6:50 AM, Gad Miron <gadmiron@xxxxxxxxx> wrote:

Hello sages

Having found a perfect case for splitting a string into a Variable length
array
I promptly coded :

dcs-l DynArray char(20) dim(*auto:50)
followed by

c clear DynArray
DynArray = %split(string : '|') ;

only to find that
a. clear does not clear a Variable length array
b. %split fail to deal with consecutive delimiters like in
"first|second|third||fifth"
(it missed the missing forth element)

What am I doing wrong?

Any advice will be thankfully received.

Gad
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.