3

我喜欢像这样在 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 之类的东西。

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

4

1 回答 1

5

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

您的示例无需重大更改即可翻译。如果你想指定一个 MOP 后端,你可以声明一个类似 的类class Foo using Moose,但它默认为Moo,这比 Moose 更简单。

于 2013-10-14T14:26:47.940 回答