現在、基本クラスの 1 つを拡張するすべてのオブジェクトにビルダー メソッドを委譲しています。私が直面している問題は、すべてのオブジェクトがそれ自体の属性を読み取るか、値で渡される必要があることです。
# In Role:
has 'const_string' => (
isa => 'Str',
is => 'ro',
default => 'test',
);
has 'attr' => (
isa => 'Str',
is => 'ro',
builder => '_builder',
);
requires '_builder';
# In extending object - desired 1
sub _builder {
my ($self) = shift;
# $self contains $self->const_string
}
# In extending object - desired 2
sub _builder {
my ($arg1, $arg2) = @_;
# $args can be passed somehow?
}
これは現在可能ですか、それとも他の方法で行う必要がありますか?