Si vous avez un attribut qui a besoin d'être modifié à chaque fois qu'il est défini, y a-t-il une façon simple d'écrire l'accesseur et de contourner directement le contenu de $self
, comme dans cet exemple?Dans Moose, comment modifier un attribut à chaque fois qu'il est défini?
package Foo;
use Moose;
has 'bar' => (
isa => 'Str',
reader => 'get_bar',
);
sub set_bar {
my ($self, $bar) = @_;
$self->{bar} = "modified: $bar";
}
Je considère trigger
, mais il semblait exiger la même approche.
Travailler directement avec la référence de hachage dans $self
considéré comme une mauvaise pratique dans Moose, ou est-ce que je m'inquiète d'un non-problème?
Découvrez les attributs Moose :: Manual :: sur les triggers - http://search.cpan.org/~drolsky/Moose-0.88/lib/Moose/Manual/Attributes.pod#Triggers –