为了速度,我正试图从Moose迁移到Mouse,但遇到了一个showstopper错误.
我在同一范围内构建两个对象:
sub scope { my $foo = Foo->new(); my $bar = Bar->new(); }
Foo的BUILD方法正在触发,但Bar的BUILD方法却没有.有任何想法吗?Foo和Bar都继承自Baz,后者继承自Mouse :: Object.
你没有真正为任何人提供足够的上下文来调试它.
此外,我担心你的评论从Moose迁移到Mouse"为了速度"而没有更好的.有几个包的速度比Mouse或Moose的速度更快.分析您的应用程序可能表明您将99%的时间花在元类补充,访问者访问和对象创建上......此时移植到鼠标可能是合理的.可能会发现您将99%的时间花在业务逻辑上,此时移植到Mouse将无法为您做任何事情.
鼠标很棒,并且有几个特定的用例.当我知道我将在Moose传统上很穷的环境(CGI)中运行时,我已经将它用于生产中.然而鼠标不是(正如一些人似乎声称的)Moose + FAST ...鼠标更像是Moose - Class :: MOP(以及所有已经在MOP级别对Perl进行规范化的黑客攻击).