I heard about ooREXX years ago and thought about it a long time, but kept 
putting it off because it wasn't something I could use to write tools for 
clients.  (For them I pretty much have to limit myself to TSO-REXX, VBA and 
VBScript.)  But a year or two ago I ran into a task that I tried first to do in 
VBA, and finally gave it up and downloaded a copy of ooREXX.  ooREXX turned out 
to be much more complex than I expected, and I had to take a day or two off or 
maybe three to study it first; it has much more to know about than TSO-REXX.  
But it's a lot more powerful, too.

One of the things I especially noticed is the many types of arrays.  I like 
TSO-REXX's associative arrays, and if we have to limit ourselves to only one 
that's what I'd choose.  I can pretend it's a numeric array and it'll mostly 
work, so I'm not complaining.  (And you can, with a very little work, make it 
do multiple dimensions.)  But ooREXX has a lot more variety.  I've just been 
over the types of arrays in the documentation and, again, I can tell I don't 
understand all the nuances.  But there are indeed arrays with multiple 
dimensions, and circular arrays (in which you can add items up to the defined 
limit and after that they start over, replacing older items), and arrays that 
are LIFO or FIFO queues, and one type of collection that it says here can have 
the same item in it more than once, and the usual associative arrays, and a few 
things that are described in the documentation as being like this other type 
except [unintelligible differences that don't sound different].  For those who 
have used ooREXX longer than I have, please feel free to correct and extend.  I 
look forward to understanding all the differences, someday.

"Iterate over"; is that the same as VB's "For Each [item] In [collection]"?  
Yes, ooREXX has a flavor of the DO statement that handles that.  There are also 
methods that return an array of all the indices currently defined in a 
collection, which would give you another way of doing the same thing.

All the above is based on the assumption that when y'all say OREXX you mean the 
open-source ooREXX available from https://www.oorexx.org/.  If it's something 
different, never mind.

---
Bob Bridges, [email protected], cell 336 382-7313

/* To err is human, but it feels divine.  -Mae West */

-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Paul Gilmartin
Sent: Sunday, December 19, 2021 14:55

Rexx compound symbols are associative arrays.  What's wrong with that?
Although they're limited to one-dimensional.  Does OREXX support 
multi-dimensional?

Rexx poses a challenge for "iterate over".  How does  OREXX iterate over A. 
after:
    A. = 'Preset"
    Nil = ''; A.Nil = 'wombat'
    drop A.42

I doubt that the shareware STEMPUSH(?) and STEMPULL(?) can do this preserving 
full information.  II think it's a deficiency of IRXEXCOM.

--- On Sun, 19 Dec 2021 18:34:55 +0000, Seymour J Metz wrote:
>REXX, as opposed to OREXX, lacks arrays and iteration over arrays, although 
>compound variable pick up some of the slack.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to