将 XS 代码集成到 Moose 类定义文件中
我编写了一个基于 XS 的 Perl 模块,它提供对 C 库中函数的访问 - 现在我们称之为 MyLib_XS。我想从这里开始使用这些函数在 Moose 类中定义方法。当然…
Perl Moose 父类与子类一起演员表
package Point; use Moose; has 'x' => (isa => 'Int', is => 'rw'); has 'y' => (isa => 'Int', is => 'rw'); package Point3D; use Moose; extends …
MooseX::Types 强制转换和 $self
无论如何,有没有办法让 $self 进入 MooseX::Types 强制转换?我在对象中有其他数据,我想用它们来将 String 强制转换为 Object。或者,是否有类似 Cl…
使用 Moose 时在构造时分配方法体的最佳方法是什么?
我正在使用 Moose (特别是 MooseX::Declare)创建一个迭代器对象 Iter,它有一个 next > 方法,根据 while 语句中使用的需要,推进状态并返回 0 或 1…
如何在 Moose 中定义默认属性属性值?
正如标题所示,我希望能够在我的类中执行类似的操作: use MooseX::Declare; class MyClass { default_attribute_propeties( is => 'ro', lazy => 1, …
是否仍建议使用 MooseX::Method::Signatures,或者是否有更好的替代方案?
我的团队最近决定放弃 MooseX::Declare。单独使用 MooseX::Method::Signatures 是最好的选择吗?…
Catalyst 中 DBIx::Class::Schema 模型的 Moose 方法修饰符
对于任何给定的结果类 MySchema::Result::Foo (从生成的默认模式加载器构建) 使用 Moose/MooseX::nonmoose 的语法) 如果我添加 BUILDARGS 方法包装…
如何将现有的 Moose 对象转换为扩展实例?
我有一个名为“Child”的 Moose 类,它扩展了另一个名为“Person”的类。给定一个“Person”实例,我想创建一个 Child 实例。 如何将现有的“Person”…
如何在 Moose 对象中设置一堆属性构建器?
我有以下五个 Moose 属性: has ['summary_file', 'html_file', 'url1', 'url2', 'txt_file'] => ( is => 'rw', isa => 'Str', required => 0, lazy =…
使用 Moose,如何设置“ro”的值?属性 Trait,在运行时?
我有一个属性特征,我想在其他类属性的基础上设置它。我真的想要一个属性特征的默认值,它获取类 $self 的副本,而不是属性的元。我想在我的班级中做…
当访问深 Hoh as Moose 属性中不存在的密钥时,我怎么会死呢?
我有一个 Moose 对象,其属性是哈希: has 'custom_fields' => ( traits => [qw( Hash )], isa => 'HashRef', builder => '_build_custom_fields', ha…
如何在访问未初始化的 Moose 对象属性时死亡?
我有一个带有非必需属性的 Moose 对象: has 'optional_attr' => ( is => 'ro', isa => 'MyCoolType', required => 0, ); 如果我尝试在未设置的情况下…
扩展 Moose 对象类的构造顺序是什么?
我编写了一个 Moose 对象类,它扩展了另一个 Moose 对象类: package MySubClass; use Moose; extends MySuperClass; 我有一个属性,我想在对象实例化…
我可以将 Moose 属性设为“一次写入”吗?
我想要一个非必需的 Moose 属性,只能设置一次。 如果我使用 is =>; 'ro' 我必须在创建对象时设置该属性,但我希望能够在之后添加它(只要它尚未设置…
Moose::Role - 增强角色应用的简单方法?
我有一个 Moose::Role ,当该角色应用于该类时,我想在该类上调用一些额外的子函数。 有没有一种简单的方法可以修改应用角色时发生的情况,而不必深入…