我可以使用正则表达式作为参数在Moose中使用isa吗?如果不可能,除了 – > isa之外我可以用其他东西做同样的事情吗?
好吧,有以下类型动物::长颈鹿,动物::食肉动物::鳄鱼,我想做 – > isa(/ ^ Animal :: /),我可以这样做吗?如果我不能,我可以用什么来达到预期的效果?
解决方法
这些相关的类型都应该“扮演”相同的角色,Animal.然后你可以写:
has 'animal' => ( is => 'ro',does => 'Animal',required => 1,);
现在,您可以获得比正则表达式更可靠的东西,以确保程序的一致性.