Moose对象初始化后如何创建结构?

时间:2010-10-20 08:50:55

标签: perl moose

我正在使用Moose编写一个对象模块。

我目前有一些必填字段:

has ['length'] => (
    is       => 'ro',
    isa      => 'Int',
    required => 1,
);

has ['is_verified'] => (
    is       => 'ro',
    isa      => 'Bool',
    required => 1,
);

has ['url'] => (
    is       => 'ro',
    isa      => 'Str',
    required => 1,
);

使用这些字段初始化对象后,我想创建一些结构并从对象方法中使用它。

我应该如何(在哪里)?

1 个答案:

答案 0 :(得分:4)

有(至少)两种可能性:

  1. 您可以创建BUILD子。初始化对象后会自动调用它。

  2. 您创建一个普通属性并将其标记为懒惰。然后,您提供了一个创建此属性的子资源:builderdefault。您可以在manual

  3. 中详细了解相关信息