Perl中的数组初始化

前端之家收集整理的这篇文章主要介绍了Perl中的数组初始化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将数组初始化为0?

我试过这个

my @arr = ();

但是它总是给我一个警告,“使用未初始化的价值”。我不知道这个数组的大小。我动态填充我以为上面这段代码应该把它初始化为0。

我该如何做?

解决方法

如果我明白你,也许你不需要一个零数组;相反,你需要一个哈希。散列键将是另一个数组中的值,散列值将是另一个数组中值存在的次数
use strict;
use warnings;

my @other_array = (0,1,2,3,4);
my %tallies;
$tallies{$_} ++ for @other_array;

print "$_ => $tallies{$_}\n" for sort {$a <=> $b} keys %tallies;

输出

0 => 3
1 => 1
2 => 2
3 => 3
4 => 1

要更直接地回答您的具体问题,要创建一个填充一堆零的数组,您可以在这两个示例中使用该技术:

my @zeroes = (0) x 5;            # (0,0)

my @zeroes = (0) x @other_array; # A zero for each item in @other_array.
                                 # This works because in scalar context
                                 # an array evaluates to its size.
原文链接:https://www.f2er.com/Perl/173027.html

猜你在找的Perl相关文章