perl – 禁止Moose类中的非属性参数
发布时间:2020-12-16 06:23:37 所属栏目:大数据 来源:网络整理
导读:如果在Moose的构造函数调用中有额外的参数而不是属性,有没有办法死?例如,这个: package Shoe;use Moose;has 'size' = (is = 'ro',isa = 'Num');has 'color' = (is = 'ro',isa = 'Str',default = 'brown');1; 会死的 my $sneaker = Shoe-new(size = 11,colo
如果在Moose的构造函数调用中有额外的参数而不是属性,有没有办法死?例如,这个:
package Shoe; use Moose; has 'size' => (is => 'ro',isa => 'Num'); has 'color' => (is => 'ro',isa => 'Str',default => 'brown'); 1; 会死的 my $sneaker = Shoe->new(size => 11,colour => 'white'); 因为颜色不是鞋子的属性. 我可以发誓我已经看过一个模块或者其他什么来做这件事,但我找不到它. 解决方法
对我来说工作
MooseX::StrictConstructor:
package Shoe; use Moose; use MooseX::StrictConstructor; # <-- that's all what need has 'size' => (is => 'ro',isa => 'Str'); 1; package main; my $sneaker = Shoe->new(size => 11,colour => 'white'); #blows up (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |