我想在Perl中动态创建二维数组。我不确定如何做到这一点。我的要求是这样的 -
@a =([0,1,...],[1,0,1..],...)
另外,我想动态命名对内部数组的引用。即我必须能够用我选择的名称引用我的内部数组,我将动态分配。 有人可以帮我这个。
答案 0 :(得分:2)
听起来你想要一个树/数组哈希。使用引用来实现这一目标。
数组数组的哈希示例:
$ref = {};
$ref->{'name'} = [];
$ref->{'name'}[0] = [];
$ref->{'name'}[0][1] = 3;
如果需要,这可能是动态的。确保初始化引用指向的内容。
答案 1 :(得分:0)
数组引用的示例数组:
my @x;
$x[$_] = [0..int(rand(5)+1)] for (0..3);
答案 2 :(得分:0)
你可能有某种循环?
for (...) {
my @subarray = ...;
push @a, \@subarray;
}
您也可以
for (...) {
push @a, [ ... ];
}
如果它实际上是一个foreach循环,你甚至可以用map
替换它。
my @a = map { ...; [ ... ] } ...;