Wenn Sie ein Attribut haben, das jedes Mal geändert werden muss, wenn es gesetzt ist, gibt es eine glatte Möglichkeit, den Accessor selbst zu schreiben und direkt mit dem Inhalt von $self
herumzubummeln, wie in diesem Beispiel gemacht?In Moose, wie kann ich ein Attribut ändern, wann immer es eingestellt ist?
package Foo;
use Moose;
has 'bar' => (
isa => 'Str',
reader => 'get_bar',
);
sub set_bar {
my ($self, $bar) = @_;
$self->{bar} = "modified: $bar";
}
ich als trigger
, aber es schien den gleichen Ansatz zu verlangen.
Arbeitet direkt mit der Hash-Referenz in $self
als schlechte Praxis in Moose oder bin ich besorgt über ein Nicht-Problem?
Schauen Sie sich die Elche :: Handbuch :: Attribute auf Trigger - http://search.cpan.org/~drolsky/Moose-0.88/lib/Moose/Manual/Attributes.pod#Triggers –