我使用草莓的Perl 駝鹿2.0010Perl的駝鹿默認值未設置
在類:
package Cat;
use 5.010;
use strict;
use Moose;
has 'name', is => 'ro', isa => 'Str', default => 'Beauty';
#has 'age', is => 'ro';
has 'diet', is => 'rw', default => 'fish';
has 'birth_year', is => 'ro', isa=> 'Int',
default => 1997;
sub age
{
my $self = shift;
my $year = (localtime)[5] + 1900;
return $year - $self->birth_year();
}
中的應用:
use 5.010;
use strict;
use Cat;
my $kitty = Cat->new();
say 'I have a kitten named ', $kitty->name(), ' eats ', $kitty->diet(),
'in age ', $kitty->age();
輸出:
在中使用未初始化的值在Cat.pm第16行減去( - )。I 在2011年有一隻名爲吃的小貓 按任意鍵繼續。 。 。
未設置默認值。
謝謝。
@Weiyan - 如果你想用Moose覆蓋'new()',看看'BUILDARGS'和'BUILD':http://search.cpan.org/dist/Moose/lib/Moose/Manual/ Construction.pod – plusplus