使用创建元类后Moose::Meta::Class->create
,我如何实例化一个真正的 Moose 类,并将该类作为元类?
(我还需要创建元类,因为我还想对其应用一些角色。)
当然,元类就是类。如果您想要该类的实例,只需执行以下操作:
my $instance = $meta->name->new
您可能还需要确保 $meta 不会过早被收集。一般来说,你这样做:
$meta->add_method( meta => sub { $meta } );
这将保留元类,但如果不小心,就会泄漏该类。如果你只做一次,那没关系;如果你这样做数千次,你可能会给自己带来麻烦。
最好使用更高级别的东西,比如Moose::Meta::Class::create_anon_class
or MooseX::Traits
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)