Если у вас есть атрибут, который нужно изменить каждый раз, когда он установлен, есть ли простой способ сделать это, за исключением написания аксессуара самостоятельно и непосредственной работы с содержимым $self
, как это сделано в этом примере?
package Foo;
use Moose;
has 'bar' => (
isa => 'Str',
reader => 'get_bar',
);
sub set_bar {
my ($self, $bar) = @_;
$self->{bar} = "modified: $bar";
}
Я рассматривал trigger
, но, похоже, требовался тот же подход.
Работает напрямую с хеш-ссылкой в $self
, что считается плохой практикой в Moose , или я беспокоюсь о том, что не проблема?