Benjohn and all,
I think our problem is that our terms are sloppy. I'd written yesterday that I'd mistaken the functionality of Hash for AssociativeArray, and then today I find this:
"Hashes (sometimes known as associative arrays or dictionaries) are similar to arrays, in that they are indexed collectives of object references."
OK, so who wrote that? Dave and Andrew on page 37 of Programming Ruby, First Edition.
See! We're all confused. (Can I blame you Dave, or Andrew, for my confusion?)
As I've proposed, we need to come up with a coherent taxa of collections or lists. We need to have one name, or possibly a bunch of names (as we are want in Ruby), but each name or bunch of names should apply to and only apply to one of each of the different containers that we are wanting to use.
I had an excessive taxa before which had some nonsense ones in it. However, and assuming we don't go for my generalized Container or List or Collection, which I still think could have merit, with or without the automated restructuring magic, I have weeded out the ones that don't make sense, so here then are the types that I think we want, with little respect to the goodness of, or options for each name:
Keyed/HashedArray (with an optional sorter block, so as to indicate that and provide for the basis of the order, nothing = insertion order, block = sorted order)
I don't like OrderedHash as a term.
And see a following post (tomorrow) I'm writing about theft.