Perl Moose ArrayRef属性作为数组返回
我有一个Moose类,它的属性是ArrayRef(只读),由对象在内部操纵。但是当有人调用访问器方法时,我希望它返回一个数组(或列表),而不是引用。这不仅会减少类用户必须进行的去引用量,而且还意味着他们不会意外地篡改我的对象正在使用的同一个ref 那么最好的方法是什么呢?某种胁迫?使用以下选项: 请注意,有时在使用reader方法时无法返回数组,具体取决于表达式的标量或列表上下文。不久前,我遇到了一种情况,为了使解引用工作,我必须显式地将数组上下文引入表达式。。如果我能找到,我将添加一个示例。使用和委派,例如Perl Moose ArrayRef属性作为数组返回,perl,oop,moose,Perl,Oop,Moose,我有一个Moose类,它的属性是ArrayRef(只读),由对象在内部操纵。但是当有人调用访问器方法时,我希望它返回一个数组(或列表),而不是引用。这不仅会减少类用户必须进行的去引用量,而且还意味着他们不会意外地篡改我的对象正在使用的同一个ref 那么最好的方法是什么呢?某种胁迫?使用以下选项: 请注意,有时在使用reader方法时无法返回数组,具体取决于表达式的标量或列表上下文。不久前,我遇到了一种情况,为了使解引用工作,我必须显式地将数组上下文引入表达式。。如果我能找到,我将添加一个示例。使
handles => { my_array => 'elements' }
(通过驼鹿上的doy)
<代码> AutoMyDeFE./COD>如果在标量上下文中调用访问器,仍然有一个不希望返回的引用。 < P> >您可以使用<代码> AutoDeFE> /COD>,称这不是最好的方式,而应该考虑使用它来完成该功能。但是很明显,我的眼睛忽略了这么明显的事情:)自动删除的文档(在MooseGit中)现在让这更清楚了。
handles => { my_array => 'elements' }