【发布时间】:2020-12-12 09:07:04
【问题描述】:
在 Perl 中可以做这样的事情吗?
package Person;
use Moose;
has 'friends' => ( is => 'rw', isa => 'Array', default => () );
我看到 perl 编译器不接受这种特定的语法,但是我使用了错误的语法,还是根本不可能?我必须改用数组引用吗?
我对 perl 很陌生,所以这个问题可能很愚蠢,我觉得答案是“不”,但我没有找到任何关于它的提及。
提前致谢
【问题讨论】:
-
看到您无法将数组传递给访问器,无法从访问器接收一个数组,或者将数组存储为哈希(或其他任何 Moose 对象),我不知道甚至知道您甚至认为“数组属性”是什么。你能解释一下“数组属性”是什么意思吗?
-
default => ()没有意义。这只是'default'的一种奇怪的写法。 -
谢谢,这对我来说基本上意味着它无法完成。我仍然很习惯 PHP,其中数组被视为普通变量,所以我不知道数组不能传递给访问器等。
-
基本意思是什么不能做?数组是 Perl 中的普通变量。数组不能传递给访问器,因为数组不能传递给 subs,因为 subs 只能接受一个标量列表作为参数。
-
@amik:你想做的可以做,但你没有描述你想做什么。显示一些代码来演示您希望如何使用此属性
标签: arrays perl attributes moose