当前位置:  开发笔记 > 编程语言 > 正文

如何在Perl中创建多维数组?

如何解决《如何在Perl中创建多维数组?》经验,为你挑选了3个好方法。

我对Perl有点新意,但这就是我想做的事情:

my @array2d;
while(){
  push(@array2d[$i], $_);
}

它不编译,因为@array2d[$i]它不是数组而是标量值.

我应该如何将@ array2d声明为数组数组?

当然,我不知道我有多少行.



1> gpojd..:

要创建一个数组数组,或者更准确地说是一个arrayrefs数组,请尝试以下方法:

my @array = ();
foreach my $i ( 0 .. 10 ) {
  foreach my $j ( 0 .. 10 ) {
    push @{ $array[$i] }, $j;
  }
}

它会将值推送到解除引用的arrayref上.您应该能够访问这样的条目:

print $array[3][2];


您还可以访问$ array [3] [2] - 多级数据结构的连续[n]或{key}索引之间不需要箭头.

2> BrianH..:

将您的"推送"行更改为:

push(@{$array2d[$i]}, $_);

你基本上是通过@ {}围绕它来使$ array2d [$ i]成为一个数组......然后你可以将元素推送到这个数组引用数组中.



3> Paul Tomblin..:

查看perlref和perldsc,了解如何创建嵌套数据结构,如数组数组和哈希哈希值.当你做Perl时非常有用的东西.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有