Carlos Lima > Mo-0.33 > Mo::default



Annotate this POD



Open  0
View/Report Bugs
Module Version: 0.33   Source   Latest Release: Mo-0.40

Name ^

Mo::default - Adds the default feature to Mo's has

Synopsis ^

    use Mo qw'default';
    has job => ( default => 'Killer' );
    has name => ( default => sub { 'Joe' } );
    has age => 42;
    has colors => ['green', 'blue'];

Description ^

Adds the default parameter to has, which expects a value. If the value is a code ref, it is called to produce the default. If the value is a hash or array ref, then a shallow copy is made for the default. If there is an odd number of arguments after the attribute name, then the first value is the default.

These 3 lines are the same:

    has things => default => sub {+{}};
    has things => default => {};
    has things => {};

Currently default is always applied lazily.

syntax highlighting: