cap*_*fan 7 perl attributes moose
使用Moose,可以创建具有默认值的属性.我有一组属性都具有最小值,最大值和默认值.它们是表示比例的属性(例如Tk :: Scale).
目前,我至少有3个属性:current和default:
has 'attr' => (is => 'rw', isa => 'Int', default => 300, lazy => 1, clearer => '_clear_attr');
Run Code Online (Sandbox Code Playgroud)
分钟:
has 'attr_min' => (is => 'rw', isa => Int', default => 100);
Run Code Online (Sandbox Code Playgroud)
最大:
has 'attr_max' => (is => 'rw', isa => Int', default => 1000);
Run Code Online (Sandbox Code Playgroud)
是否可以在一个属性中包含所有四个(当前,默认,最小,最大)?
我想你想创建一个验证规则.
use Moose::Util::TypeConstraints;
subtype 'ScaleVal',
as 'Int',
where { 100 <= $_ && $_ <= 1000 };
has attr => (
is => 'rw',
isa => 'ScaleVal',
default => 300,
);
Run Code Online (Sandbox Code Playgroud)