什么是Moo的MooseX :: NonMoose?

use*_*782 5 oop perl

我想使用Moo而不是Moose,但我还需要继承非Moose类.我应该怎么处理?有一个模块可以解决这个问题吗?如果没有,我有办法自己处理吗?

tob*_*ink 7

Moo已经可以处理子类非Moo/Moose类.您不需要扩展名.

请参阅FOREIGNBUILDARGS的文档,其中说明:

如果从非Moo类继承,则可以通过定义FOREIGNBUILDARGS方法来操作传递给父类构造函数的参数.它将接收与BUILDARGS相同的参数,并应返回传递给父类构造函数的参数列表.

  • 如果父类不是基于哈希的,则可能需要[MooX :: InsideOut](https://metacpan.org/pod/MooX::InsideOut) (2认同)