YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* 型制約 (subtype)[#ddb4f265]
*** Num.pm [#j22644c7]
package Num;
use Mouse;
use Mouse::Util::TypeConstraints;
has 'num1' => (
is => 'ro',
isa => 'Int',
);
subtype 'PositiveInt'
=> as 'Int'
=> where { $_ > 0 }
=> message { "The number you provided, $_, was not a ...
has 'num2' => (
is => 'ro',
isa => 'PositiveInt',
);
__PACKAGE__->meta->make_immutable();
*** main.pl [#iaea632a]
my $num = Num->new(num1 => -10, num => -20);
** 説明 [#t7acc871]
- hasでアトリビュートを記述する際にisaで型制約を指定する...
- 型は組み込みで色々と用意されているが、subtypeで独自の型...
- asで基底の型を、whereで制約を、messadeで型違反時のメッ...
** 参考 [#q0c6b081]
- http://search.cpan.org/perldoc?Moose::Util::TypeConstra...
- http://perl-mongers.org/2010/02/the-fastest-way-to-mast...
-- 組み込みの型
Any : 制約なし
Maybe[TypeName] : UndefかTypeName
Item : 制約なし
Bool : 真偽値
Undef : 未定義(取扱注意)
Defined : 真値
Value : プリミティブ値
Num : 数値('NaN', 'Inf', '0 but true'などはS...
Int : 整数
Str : 文字列
RoleName : ロード済みのロール名(Moose 0....
ClassName : ロード済みのクラス名
Ref : リファレンス
ScalarRef : スカラーリファレンス
ArrayRef or ArrayRef[TypeName] : 配列リファレ...
HashRef or HashRef[TypeName] : ハッシュリファ...
CodeRef : コードリファレンス
RegexpRef : 正規表現リファレンス
GlobRef : グロブリファレンス
FileHandle : ファイルハンドル
Object : オブジェクト
Role : ロール
終了行:
* 型制約 (subtype)[#ddb4f265]
*** Num.pm [#j22644c7]
package Num;
use Mouse;
use Mouse::Util::TypeConstraints;
has 'num1' => (
is => 'ro',
isa => 'Int',
);
subtype 'PositiveInt'
=> as 'Int'
=> where { $_ > 0 }
=> message { "The number you provided, $_, was not a ...
has 'num2' => (
is => 'ro',
isa => 'PositiveInt',
);
__PACKAGE__->meta->make_immutable();
*** main.pl [#iaea632a]
my $num = Num->new(num1 => -10, num => -20);
** 説明 [#t7acc871]
- hasでアトリビュートを記述する際にisaで型制約を指定する...
- 型は組み込みで色々と用意されているが、subtypeで独自の型...
- asで基底の型を、whereで制約を、messadeで型違反時のメッ...
** 参考 [#q0c6b081]
- http://search.cpan.org/perldoc?Moose::Util::TypeConstra...
- http://perl-mongers.org/2010/02/the-fastest-way-to-mast...
-- 組み込みの型
Any : 制約なし
Maybe[TypeName] : UndefかTypeName
Item : 制約なし
Bool : 真偽値
Undef : 未定義(取扱注意)
Defined : 真値
Value : プリミティブ値
Num : 数値('NaN', 'Inf', '0 but true'などはS...
Int : 整数
Str : 文字列
RoleName : ロード済みのロール名(Moose 0....
ClassName : ロード済みのクラス名
Ref : リファレンス
ScalarRef : スカラーリファレンス
ArrayRef or ArrayRef[TypeName] : 配列リファレ...
HashRef or HashRef[TypeName] : ハッシュリファ...
CodeRef : コードリファレンス
RegexpRef : 正規表現リファレンス
GlobRef : グロブリファレンス
FileHandle : ファイルハンドル
Object : オブジェクト
Role : ロール
ページ名: