Java 作为对象变量的Perl数组
如果我有一个如下所示的Java类,那么同一个类的类似Perl表示是什么Java 作为对象变量的Perl数组,java,arrays,perl,variables,object,Java,Arrays,Perl,Variables,Object,如果我有一个如下所示的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
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;
}
对于(更多!)较长的答案,请分别查看和介绍参考、列表列表和OOP训练营。一旦你掌握了基本知识,就可以考虑在Perl使用更先进的面向对象编程方法。 < P>简短的答案是:
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;
}
对于(更多!)较长的答案,请分别查看和介绍参考、列表列表和OOP训练营。一旦你掌握了基本知识,考虑使用一种更先进的方法来在Perl进行OOP。使用,该类可以写成:
package Temp;
use Moose;
has 'my_int' => (
'is' => 'rw',
'isa' => 'Int',
);
has 'my_array' => (
'is' => 'rw',
'isa' => 'ArrayRef[Int]',
);
__PACKAGE__->meta->make_immutable();
使用,该类可以编写为:
package Temp;
use Moose;
has 'my_int' => (
'is' => 'rw',
'isa' => 'Int',
);
has 'my_array' => (
'is' => 'rw',
'isa' => 'ArrayRef[Int]',
);
__PACKAGE__->meta->make_immutable();
好电话-把它添加到我的答案中。好电话-把它添加到我的答案中。