Arrays 数组中的循环
您好,我在使用perl的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
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,下面是一个由三部分组成的精彩故事,讲述了为什么要使用散列来代替它: