Perl - OOP / Moose - 方法签名

时间:2013-10-14 14:05:46

标签: performance perl oop moose method-signature

我喜欢在Perl中编写OO代码:

use MooseX::Declare;
use Method::Signatures::Modifiers;
use v5.14.2;


class Talker
{
     method talk (Str $text) {
         $self=>say $text;

     }

     my $talk_object = Talker->new();
     $talk_object->talk('Hello!');
}

不幸的是,这很慢,我找不到任何鼠标或Moo相当于它。 遗憾的是,Perl没有像PyPy那样的东西。

有人知道如何使用较轻的实现存档相同的内容吗?

1 个答案:

答案 0 :(得分:5)

实验Moops模块是另一种非常相似的语法扩展。它的灵感来自MooseX :: Declare(但速度更快)以及试图将这种语法带入核心perl的p5-mop项目。

您的示例将在没有重大更改的情况下翻译。如果要指定MOP后端,可以声明类似class Foo using Moose的类,但默认为Moo,这比Moose简单。