On Thu, Oct 16, 2008 at 02:56:28PM +1100, Timothy S. Nelson wrote:
>       Hi all.  I'm working on the code for trees that I keep talking about,  
> and I have code that somewhat resembles the following:
>
> role  Tree::Node does Array {
>       has Tree::Node @!children handles <Array List Container>;
> }
>
>       The intent of this code is that, if you treat the Tree::Node as an  
> array, you're operating on its children.  I'm sure there are obvious bugs 
> in that code that I'd be happy to hear about, but my question at the 
> moment is, I want to be able to intercept calls that put things into the 
> array and pull them out, and perform code at that time.  For example, I'd 
> like it if
>
> $node = Tree::Node->new();
> $othernode = Tree::Node->new();
> $node[0] = $othernode;
>
>       ...would allow me to operate on $othernode, so that I could ensure that 
> they belong to the same tree, for example.  Is there a way I can do that?

You have to write your own wrapper methods for that.  Delegation does
not mix well with micromanagement.  :)

Larry

Reply via email to