0
###############################################################################
# Attributes
###############################################################################
has 'primary_cluster' => (
is => 'ro',
isa => 'Str',
required => TRUE,
);
has 'secondary_cluster' => (
is => 'ro',
isa => 'Str',
required => FALSE,
default => sub {$_[0]->primary_cluster},
);
has '_connection' => (
is => 'ro',
required => FALSE,
init_arg => undef,
default => sub {
Core::mConnection->new(
primary_cluster => $_[0]->primary_cluster,
secondary_cluster => $_[0]->secondary_cluster,
);
},
);
我想有使用其他屬性來創建一個mConnection
對象私有屬性_connection
。我遇到的問題是在_connection
的默認子程序中,$_[0]->primary_cluster
始終是undef。有什麼辦法可以保證創建屬性的順序,還是有更好的方法可以做到這一點?一個屬性的默認子對象如何使用Moose訪問另一個屬性?
我不希望這個屬性是懶惰的;我需要在構建對象時創建它。