List::Objects::Types-基于Type::Tiny的类型
package Foo;
use List::Objects::Types -all;
use List::Objects::WithUtils;
use Moo;
use MooX::late;
has my_array => (
is => 'ro',
isa => ArrayObj,
default => sub { array },
);
has static_array => (
is => 'ro',
isa => ImmutableArray,
coerce => 1,
default => sub { [qw/ foo bar /] },
);
has my_hash => ( is => 'ro', isa => HashObj );
List::Objects::Types
是基于Type::Tiny
的类型模块,常与List::Objects::WithUtils
配合使用。该模块提供了对常见数据结构类型(如数组和哈希)的支持,并允许为其添加额外的功能。
通过has
声明属性时,可以指定这些类型的约束,比如ArrayObj
、ImmutableArray
和HashObj
。ArrayObj
和ImmutableArray
提供了数组的基本功能和不可变数组的支持,而HashObj
支持哈希类型。
暂无评论