アトリビュートの型制約

Num.pm

 package Num;
 use Mouse;
 use Mouse::Util::TypeConstraints;
 
 subtype 'PositiveInt'
    => as 'Int'
    => where { $_ > 0 }
    => message { "The number you provided, $_, was not a positive number" };
 has 'num' => (
    is  => 'ro',
    isa => 'PositiveInt',
 );
 
 __PACKAGE__->meta->make_immutable();

main.pl

my $num = Num->new(num => -10);

説明

hasでアトリビュートを記述する際にisaで型制約を指定する事が出来る。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS