> On 4 Apr 2017, at 11:31, Trey Ethan Harris <treyhar...@gmail.com> wrote:
> 
> I'm thinking of a Hash-like collection where I can add objects using a 
> index-less append operation, but then have random access to the elements 
> based on a key provided by the object. (For instance, imagine a ProcessTable, 
> where I create the collection telling it to index by the .pid method, add 
> each process to %table in serial without mentioning pid, and then look up the 
> one referring to the interpreter with %table{$*PID}.)

This is basically the approach that object hashes take internally.  So, feels 
to me you just need object hashes?

   https://docs.perl6.org/type/Hash#index-entry-object_hash

Objects are internally keyed to the result of the .WHICH method on that object. 
 If you create a class, one will be provided for you automatically.  But 
there’s nothing preventing you from making your own .WHICH method, as long as 
the result is consistent for a given object and the same for all objects you 
think should be considered identical, you should be fine.


> I really thought this was in Perl 6, but I can't find it in the docs, so 
> maybe I'm thinking of another language. (I think both Ruby and Python have 
> adverbial-like options to do things like this with dictionaries, so maybe 
> that's what I'm thinking of.) Or maybe it's a simple tweak to an existing 
> collection, or just something I need to implement in my element objects....

If this is not what you’re looking for, perhaps you can elaborate a bit more, 
with some code examples?



Liz

Reply via email to