gpt4 book ai didi

arrays - 如何从引用数组的引用访问 Perl 数组中的元素

转载 作者:行者123 更新时间:2023-12-02 11:36:46 25 4
gpt4 key购买 nike

我有以下 Perl 代码:

package CustomerCredit;
#!/usr/local/bin/perl
use 5.010;
use strict;

my $TransRef = @_; # This code comes from a sub within the package.
my ($Loop, $TransArrRef, $TransID);
for ($Loop = 0; $Loop < $$#TransRef; $Loop++)
{
$TransArrRef = $$TransRef[$Loop]; # Gets a ref to an array.
$TransID = $$TransArrRef[0]; # Try to get the first value in the array.
# The above line generates a compile time syntax error.
...
}

$TransRef 是对数组引用的数组的引用。我正在尝试处理 $TransRef 指向的数组中的每个元素。 $TransArrRef 应该获取对数组的引用。我想将该数组中的第一个值分配给 $TransID。但是,该语句会生成编译语法错误。

我肯定做错了什么,但无法弄清楚它是什么。有人可以帮忙吗?

最佳答案

语法错误来自$$#TransRef应该是$#$TransRef 。通过放错#您不小心注释掉了该行的其余部分,留下:

for ($Loop = 0; $Loop <= $$
{
$TransArrRef = $$TransRef[$Loop];
...
}

$$strict 下就可以了因为它为您提供了进程 ID,从而使编译器进一步失败。

此外,$#$TransRef为您提供数组中的最后一个元素,因此您需要 <=而不仅仅是< 。或者使用这个 Perl 风格的循环:

for my $loop (0 .. $#$TransRef) {
$TransID = $TransRef->[$loop]->[0];
# ...
}

关于arrays - 如何从引用数组的引用访问 Perl 数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com