Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use warnings; use strict; sub new_counter { my ($start) = @_; my %internal = ( count => $start ); my %external; $external{add} = sub { my ($value) = @_; $internal{count} += $value; }; $external{get} = sub { return $internal{count}; }; return \%external; } my $ctr = new_counter(7); print "Start: " . $ctr->{get}() . "\n"; $ctr->{add}(3); print "End: " . $ctr->{get}() . "\n";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: OOP By Any Other Name
by GrandFather (Saint) on Feb 25, 2011 at 23:49 UTC | |
by Anonymous Monk on Feb 26, 2011 at 02:09 UTC | |
by GrandFather (Saint) on Feb 26, 2011 at 02:57 UTC | |
by tilly (Archbishop) on Feb 26, 2011 at 03:02 UTC | |
by chromatic (Archbishop) on Feb 26, 2011 at 03:08 UTC | |
by ikegami (Patriarch) on Feb 26, 2011 at 07:31 UTC | |
|
Re: OOP By Any Other Name
by roboticus (Chancellor) on Feb 25, 2011 at 23:50 UTC | |
|
Re: OOP By Any Other Name
by ikegami (Patriarch) on Feb 26, 2011 at 07:28 UTC | |
|
Re: OOP By Any Other Name
by sapphirecat (Acolyte) on Feb 26, 2011 at 02:17 UTC | |
|
Re: OOP By Any Other Name
by ikegami (Patriarch) on Feb 26, 2011 at 07:47 UTC |