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

如果我有一个如下所示的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;
}
对于(更多!)较长的答案,请分别查看和介绍参考、列表列表和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();

好电话-把它添加到我的答案中。好电话-把它添加到我的答案中。