首页 文章
  • 2 votes
     answers
     views

    麋 - 从Num强迫到ArrayRef [Num]?

    好吧,我做错了什么 - 穆斯无视我的强制: package moo; use Moose; use Moose::Util::TypeConstraints; subtype Bar => as 'ArrayRef[Num]'; coerce 'Bar' => from 'Num' => via { [ 10 ] }; # this doesn't seem to be...
  • 8 votes
     answers
     views

    Moose ArrayRef属性作为Array返回

    我有一个Moose类,其属性是一个ArrayRef(只读),并由对象内部操作 . 但是当有人调用访问器方法时,我希望它返回一个数组(或列表)而不是引用 . 这不仅会减少类的用户必须执行的解除引用量,而且还意味着它们不会意外地篡改我的对象使用的相同引用 . 那么最好的方法是什么?某种强制?
  • 6 votes
     answers
     views

    深度克隆具有ArrayRef [Object]和Set :: Object属性的Moose对象

    我有一个Moose对象: class My::Game { has 'players' => (isa => 'Set::Object', ...) has 'action_sequence' => (isa => 'ArrayRef[My::Game::Action]', ...) } 现在我希望能够通过像_1793085这样的调用来克隆这个对象 . 如何深度克...
  • 3 votes
     answers
     views

    我可以在构造时设置Moose对象属性的'isa'吗?

    我有一个具有以下属性的Moose对象: has 'people' => ( is => 'ro', isa => 'ArrayRef[Person::Child]', traits => ['Array'], default => sub { [] }, handles => { all_people => 'el...
  • 5 votes
     answers
     views

    Moose深度强制 - 用户定义类型的ArrayRef

    我在以下子类型和强制链中缺少什么?我希望能够强制验证类型的arrayref或死于以下输入: 强制字符串 有效字符串 Arrayref的混合强制和有效字符串 假设所有类型都是完全命名空间,并且未声明的函数 validate 和 coerce_str validate(返回bool)并强制并分别从输入返回有效字符串 . subtype 'CustomType' => as ...
  • 1 votes
     answers
     views

    将Moose属性存储在祝福的arrayref中,以实现紧凑的存储?

    {Moose,Mouse,Moo}对象通常转换为祝福的hashref . 对于紧凑型存储,它可以使用有福的arrayref吗?想象一个像bless这样的对象({long_attribute_name => 1,another_long_attribute_name => 2,and_a_bunch_of_these => 3},'SomeClass')vs bless([1,2,...
  • 3 votes
     answers
     views

    从ArrayRef [HashRef]强制执行ArrayRef [MyClass]

    在试图回答How to instantiate Moose classes from a big hash时,我想我已经到了另一个我不完全理解穆斯式强制的地方 . 出于某种原因,以下代码发出警告: You cannot coerce an attribute (departments) unless its type (ArrayRef[Company::Department]) has a co...
  • 0 votes
     answers
     views

    使用moose从perl中的对象数组调用对象方法

    我有一个对象具有另一组对象的数组属性 . 我有一个toString方法,我想打印出对象的全部内容 . 主要目标是让Job对象调用数组中的所有后期处理作业 . 我想在对象数组中的对象上调用方法toString . 目前,我收到此错误: Can't call method "toString" without a package or object reference at Job...
  • 3 votes
     answers
     views

    如何在Moose中使用ArrayRef [Class]

    对不起有点长的代码,但想提供一个近乎有效的例子 . package MLQ::Jobs::Job { use 5.016; use Moose; use warnings; has 'name' => (is=>'rw', isa=>'Str'); has 'status' => (is=>'rw', isa=>'Str'...
  • 1 votes
     answers
     views

    Perl / Moose对象初始化,强制进入ArrayRef

    需要创建一个接受一个或多个 paths 的模块,并将它们强制转换为 Class::Path 的数组 . 在CPAN中存在一个模块MooseX::Types::Path::Class . 从它的来源我发现比模块定义的子类型 Dir 和 File . 我的示例模块: package Web::Finder; use namespace::sweep; use Modern::Perl; use M...
  • 3 votes
     answers
     views

    Moose&isa ArrayRef

    我试图使用Moose与Moose :: Meta :: Attribute :: Native :: Trait :: Array但看起来像ArrayRef helper对我不起作用 . 贝娄是我的代码返回 Can't call method "add_item" on unblessed reference at bug.pl line 42. 我使用Moose 2.0007...

热门问题