【发布时间】:2011-02-22 04:30:37
【问题描述】:
我正在用 Perl 创建一个 Graph 类,我希望每个 Graph 都包含节点。每个节点都有一些属性,并且(目前)还有一个数组,其中包含对它所连接的每个其他节点的引用。到目前为止,我有一个节点的定义:
use strict;
package Node;
sub new{
my $class = shift;
my @array = (1,2,3);
my $array_r = \@array;
my $self = {
code => undef,
name => undef,
country => undef,
continent => undef,
timezone => undef,
coordinates => ("", "", "", ""),
population => undef,
region => undef,
arrayRef => $array_r,
@_,
};
bless $self, $class;
return $self;
}
在我的主脚本中调用以下函数时:
sub getSetArray{
my $self = shift;
return $self->{arrayRef};
}
并存储值并打印它: 我的 $val = $firstnode->getSetArray(); 打印@{$val};
我收到以下错误:
不能使用未定义的值作为 ARRAY 引用。
我猜我对引用的间接级别的理解不正确,但我似乎看不出发生了什么。
谢谢, -A
【问题讨论】: