Nếu bạn có một thuộc tính cần phải sửa đổi bất kỳ lúc nào được thiết lập, có cách nào ngắn gọn để viết ngắn dòng này và tự động mút trực tiếp với nội dung của $self
, như được làm trong ví dụ này?Trong Moose, làm thế nào để sửa đổi một thuộc tính bất cứ lúc nào nó được thiết lập?
package Foo;
use Moose;
has 'bar' => (
isa => 'Str',
reader => 'get_bar',
);
sub set_bar {
my ($self, $bar) = @_;
$self->{bar} = "modified: $bar";
}
Tôi xem là trigger
, nhưng dường như yêu cầu cùng một cách tiếp cận.
Đang làm việc trực tiếp với tham chiếu băm trong $self
được coi là thực hành không tốt trong Moose hoặc tôi lo lắng về sự cố không?
Xem Moose :: Hướng dẫn :: Thuộc tính trên trình kích hoạt - http://search.cpan.org/~drolsky/Moose-0.88/lib/Moose/Manual/Attributes.pod#Triggers –