迭代循环到2D向量的倒数第二个元素

时间:2013-03-27 10:08:09

标签: perl

在标题中,我想进行迭代直到2D向量的倒数第二个元素;我写信去做:

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

但它不起作用。为什么呢?

1 个答案:

答案 0 :(得分: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]) {
        ....
    }
}