我在Moose对象中有一堆懒惰的功能.
一些建筑商需要一些时间来完成.
我想nvoke所有构建器(转储"完整"对象).我可以一次性构建所有延迟功能,还是必须手动调用每个功能以使其运行?
如果你想拥有构建器的"懒惰"属性,但确保在new返回之前构造它们的值,通常要做的就是调用访问器BUILD.
sub BUILD {
my ($self) = @_;
$self->foo;
$self->bar;
}
Run Code Online (Sandbox Code Playgroud)
足以完成工作,但最好添加一条评论,并向那些不懂成语的人解释这个看似无用的代码.