pileofrogs has asked for the wisdom of the Perl Monks concerning the following question:
Greetings, ye Monks!
I'm using Moose for the first time, and I'm a little baffled by something.
I have an object attribute that is an arrayref. I'd like the writer for that attribute to append a value if I call the writer with a single valid value. How would I do that? Coercion doesn't look right, because I don't want to change the value, I want to change how the value is added. I've tried setting 'accessor' to a custom sub, but it didn't even get called. So, I'm asking you monks for help.
Here's an example-ish illustration of what I want.
Package Wibble; use Moose; has 'thingies' => ( is => 'rw', isa => 'ArrayRef' ); ## Things I don't understand yet go here... Package main; use Wibble; my $w = Wibble->new( thingies => [ 'this', 'that' ]); print join(", ",$w->thingies())."\n"; # prints "this, that" # here's the bit that I want to make work $w->thingies('another'); print join(", ",$w->thingies())."\n"; # prints "this, that, another"
I hope that makes sense.
Thanks!
--Pileofrogs
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Moose Accessor Question
by rhesa (Vicar) on Feb 06, 2009 at 23:17 UTC | |
by pileofrogs (Priest) on Feb 06, 2009 at 23:38 UTC | |
by Anonymous Monk on Feb 07, 2009 at 04:33 UTC | |
|
Re: Moose Accessor Question
by stvn (Monsignor) on Feb 07, 2009 at 03:26 UTC | |
|
Re: Moose Accessor Question
by zwon (Abbot) on Feb 06, 2009 at 22:49 UTC | |
by pileofrogs (Priest) on Feb 06, 2009 at 23:36 UTC | |
by zwon (Abbot) on Feb 07, 2009 at 17:41 UTC | |
|
Re: Moose Accessor Question
by FunkyMonk (Bishop) on Feb 06, 2009 at 23:16 UTC |