[英]Perl array as an object variable
如果我有一個下面的Java類,相同的Perl表示是什么?
class Temp {
int my_int;
int my_array[];
Temp() {
}
};
具體來說,我有興趣知道如何將數組用作對象變量?
簡短的答案是:
package Temp;
sub new {
my $self = bless {
'my_int' => 0,
'my_array' => [] # The trick here is to use an array *reference*
# hence the square brackets rather than ()
};
return $self;
}
對於(很多!)更長的答案,請查看perlref , perllol和perlboot以獲得分別對引用,列表列表和OOP 訓練營的介紹。 一旦掌握了基礎知識,就可以考慮使用Moose在Perl中使用更高級的OOP方法。
使用Moose
,該類可以編寫為:
package Temp;
use Moose;
has 'my_int' => (
'is' => 'rw',
'isa' => 'Int',
);
has 'my_array' => (
'is' => 'rw',
'isa' => 'ArrayRef[Int]',
);
__PACKAGE__->meta->make_immutable();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.