Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
Syntactic Confectionery Delight
 
PerlMonks  

Re: composite pattern, best practice, pushing into an array in a hash, reusing the get array method

by vladb (Vicar)
on Feb 13, 2006 at 21:23 UTC ( #529936=note: print w/ replies, xml ) Need Help??


in reply to composite pattern, best practice, pushing into an array in a hash, reusing the get array method

To reuse getCreditAccounts(), you'd have to first rewrite the method to return array ref, and not a copy of the array you are attempting to ultimately change.

# private getCreditAccounts sub getCreditAccounts { caller(0) eq __PACKAGE__ || confess "getCreditAccounts is private" +; my $closure = shift; my @accounts = @{ &{$closure}( "CREDITACCOUNTS" ) }; return @accounts; } # working on a copy of the original array... my @anotherArray = $obj->getCreditAccounts(); push @anotherArray, "Data";
From there, you could possibly do something like
# private getCreditAccounts # now returning reference to the original array sub getCreditAccounts { caller(0) eq __PACKAGE__ || confess "getCreditAccounts is private" +; my $closure = shift; return &{$closure}( "CREDITACCOUNTS" ) }; } # public to add accounts to the creditaccounts sub addCreditAccount { my $closure = shift; my $account = shift; push @{ $closure->getCreditAccounts() }, $account; }


_____________________
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce
the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true."

Robert Wilensky, University of California


Comment on Re: composite pattern, best practice, pushing into an array in a hash, reusing the get array method
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://529936]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2014-04-19 14:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (482 votes), past polls