Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
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 ( [id://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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://529936]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2024-04-23 11:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found