如何使用bless
创建具有继承的匿名类的对象?
我想我需要设置@ISA
,但是如何使用strict
完成呢?
经过райтфолд的提示后,我看了看 Class::Inner
。他们通过解决继承
no strict 'refs';
@{"$anon_class\::ISA"} = $parent;
有没有办法使用严格的引用来实现?
最佳答案
如果您正在玩这些东西,有时可能会违反strict
。 Pragma strict
可以保护您免于错误。如果您确定自己在做什么,绝对可以在有限的范围内关闭strict
,最好将其限制为与OP中的特定功能相同。因此,当您知道自己要做什么时,此代码就可以了
{
no strict 'refs';
@{"$anon_class\::ISA"} = ($parent);
}
关于perl - 使用 `bless`创建具有继承的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29228145/