数组 – 为什么我可以将此处理作为参考打印并将其视为标量?
发布时间:2020-12-15 23:35:35 所属栏目:大数据 来源:网络整理
导读:在以下perl片段中: my $a1 = [ qw(rock pop musical) ]; my $b1 = [ qw( mystery action drama )]; my $c1 = [ qw( biography novel periodical)]; my @a2d = ( $a1,$b1,$c1 ); @ a2d是一个包含对数组的引用的数组. 我的问题是为什么以下打印相同的东西(音
在以下perl片段中:
my $a1 = [ qw(rock pop musical) ]; my $b1 = [ qw( mystery action drama )]; my $c1 = [ qw( biography novel periodical)]; my @a2d = ( $a1,$b1,$c1 ); @ a2d是一个包含对数组的引用的数组. print ${$a2d[0]}[2],"n"; print $a2d[0][2],"n"; 我期望第二个打印ARRAY或给出一个错误,因为数组的元素是refences 解决方法
$a2d [0]是一个数组引用.我们可以使用这个数组引用并打印出第三个条目:
my $ref = $a2d[0]; say ${ $ref }[2]; say $ref->[2]; 这些形式是等同的.现在,我们可以取消该中间变量,并得到: say ${ $a2d[0] }[2]; say $a2d[0]->[2]; 如果解除引用运算符 – >在两个下标之间发生,然后它可以作为快捷方式省略: say $a2d[0][2]; 当左下标为[…]或{…}且右下标为[…],{…}或(…)时,可省略箭头. 这也在perlreftut中进行了解释,更深入地考虑了这些考虑因素.阅读该文件应该清除许多问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |