Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 数组中的循环_Arrays_Perl - Fatal编程技术网

Arrays 数组中的循环

Arrays 数组中的循环,arrays,perl,Arrays,Perl,您好,我在使用perl的Graph::Directed中有一个问题。我想根据不同的索引更改数组名称。我如何通过一个循环来实现这一点,从而随着索引的更改而更改数组名称。下面是我想展示的示例 @v = $g-> strongly_connected_component_by_index(0); @v1 = $g-> strongly_connected_component_by_index(1); @v2 = $g-> strongly_connected_component_b

您好,我在使用perl的
Graph::Directed
中有一个问题。我想根据不同的索引更改数组名称。我如何通过一个循环来实现这一点,从而随着索引的更改而更改数组名称。下面是我想展示的示例

@v  = $g-> strongly_connected_component_by_index(0);
@v1 = $g-> strongly_connected_component_by_index(1);
@v2 = $g-> strongly_connected_component_by_index(2);

非常感谢您的回复。谢谢你。

为了对所有美好事物的热爱,用散列代替。在本例中,您将构建一个数组:

my @components_by_index;
for (0..2) {
    $components_by_index[$_] = [ $g->strongly_connected_component_by_index($_) ];
}

print "$components_by_index[0][0]\n";

马克·杰森·多米努斯写了一篇关于不使用变量值作为变量名的精彩故事,共分三部分:

my@AoA=map[$g->强连接的组件($),0..2您不需要动态变量名,这是个坏主意。首先,它不适用于
使用strict
,这真的很糟糕。当需要动态名称时,通常需要一个哈希:
$hash{'name'}='Fred'
。但在您的情况下,数组的数组会更简单<代码>$AoA[$index]=[$g->..($index)]
。我支持@TLP,下面是一个由三部分组成的精彩故事,讲述了为什么要使用散列来代替它: