1

如标题所示,我想对二维向量的倒数第二个元素进行 for 迭代;我写信去做:

for my $i (0..$#vector) {
    for my $j (1..${$vector[$i]}[-2]) {
        ....
    }
}

但它不起作用。为什么?

4

1 回答 1

1

这个:

${$vector[$i]}[-2]

为您提供倒数第二个元素的

相反,使用:

for my $j (1..$#{$vector[$i]}-1) {

最后一个元素的索引,减一。

如果您实际上不需要算法中的索引,请考虑for在数组元素而不是索引上使用:

for my $outer_element (@vector) {
    for my $inner_element (@{$outer_element}[1..$#$outer_element-1]) {
        ....
    }
}
于 2013-03-27T10:09:44.370 回答