加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – Perl:如何在新哈希中声明空数组引用?

发布时间:2020-12-15 22:01:24 所属栏目:大数据 来源:网络整理
导读:我有严格的警告,但它一直在抱怨下一行的初始化: $hash{$key} = ($row,[],''); 它警告这一行: "Useless use of private variable in void context""Useless use of anonymous list ([]) in void context" (3 times) 我将在稍后填充数据,但我希望索引1,2,3是
我有严格的警告,但它一直在抱怨下一行的初始化:
$hash{$key} = ($row,[],'');

它警告这一行:

"Useless use of private variable in void context"

"Useless use of anonymous list ([]) in void context" (3 times)

我将在稍后填充数据,但我希望索引1,2,3是数组引用,索引4是字符串.我正在访问并填充数据,如下所示:

$hash{$key}->[1]->[3] = 'Data';
$hash{$key}->[4] = $hash{$key}->[4] . 'More Data';

显然,我做错了什么,但我不确定如何做对. (另外,我知道最后一行是多余的,这可以用更好的方式总结吗?)

解决方法

哈希的元素只能是标量,因此您必须更改分配以使用匿名数组构造函数而不是parens:
$hash{$key} = [$row,''];

有关更多信息,请参见perldsc.

这条线:

$hash{$key}->[4] = $hash{$key}->[4] . 'More Data';

可写:

$hash{$key}->[4] .= 'More Data';

最后,除非你喜欢它们,否则 – >下标分隔符之间隐含字符,因此$hash {$key} – > [1] – > [3]与$hash {$key} [1] [3]的含义相同

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读