我可以使用基于Moose的对象将正则表达式传递给isa()吗?

xxx*_*xxx 4 perl moose isa

我可以使用正则表达式作为参数在Moose中使用isa吗?如果不可能,我可以用其他东西来实现同样的东西->isa吗?

好的,有以下类型 Animal::Giraffe,Animal::Carnivore::Crocodile我想做,我->isa(/^Animal::/)可以这样做吗?如果我不能,我可以用什么来达到预期的效果?

jro*_*way 8

这些相关的类型都应该"扮演"相同的角色,Animal.然后你可以写:

has 'animal' => (
    is       => 'ro',
    does     => 'Animal',
    required => 1,
);
Run Code Online (Sandbox Code Playgroud)

现在,您可以获得比正则表达式更可靠的东西,以确保程序的一致性.