我的 Moose 课程使用了一个我不允许更改的角色。该角色定义了一个具有默认值的属性。我需要我的班级具有该属性,但具有不同的默认值。
那可能吗?
我所能想到的就是用我自己的一些代码围绕“新”方法,如下所示:
around new => sub {
my ($orig, $self) = (shift, shift);
return $self->$orig(@_, the_attribute => $new_value);
}
但我不确定围绕 new 是否有效,并且还希望有更优雅的东西。