![]() |
![]()
| ![]() |
![]()
NameMo::builder - Adds the builder feature to Mo's has Synopsisuse Mo qw'builder'; has name => ( builder => 'name_lookup' ); sub name_lookup { my ($self) = @_; ... } DescriptionAdds the "builder" parameter to has, which expects a method name, which is executed on $self to set the attribute if it hasn't been set yet. LazinessBuilders in Mo are lazy by default. This can be changed by explicitly setting the "lazy" argument to false, in order to cause it to be initialized during instantiation. use Mo qw'builder'; has status => ( builder => '_build_status' ); # lazy has source => ( builder => '_build_source', lazy => 1); # lazy has target => ( builder => '_build_target', lazy => 0); # eager To change the default behavior and make builders to be initialized eagerly by default, import "nonlazy". use Mo qw'builder nonlazy'; has status => ( builder => '_build_status' ); # eager has source => ( builder => '_build_source', lazy => 1); # lazy has target => ( builder => '_build_target', lazy => 0); # eager
|