我曾经读过以下关于"数组数组"的例子.AOA是二维阵列
声称以下代码段用refs打印整个内容
for $aref ( @AoA ) {
print "\t [ @$aref ],\n";
}
Run Code Online (Sandbox Code Playgroud)
并声称以下代码段用索引打印整个事物
for $i ( 0 .. $#AoA ) {
print "\t [ @{$AoA[$i]} ],\n";
}
Run Code Online (Sandbox Code Playgroud)
$ aref代表什么?如何理解的定义@$aref 和@{$AoA[$i]}?谢谢.
$aref 代表"数组引用",即数组的引用.
my $my_aref = \@somearray;
Run Code Online (Sandbox Code Playgroud)
您可以使用以下语法从数组引用生成数组:
@{$my_aref}
Run Code Online (Sandbox Code Playgroud)
@{$my_aref} 是 @somearray.(它不是副本,它实际上是相同的数组.)
在第二个示例中,$AoA[$i]是一个数组引用,并使用相同的语法取消引用它:@{$AoA[$i]}.
有关更多说明和示例,请参阅perlreftut.