1
正如在标题中,我想做一个迭代直到二维矢量的倒数第二个元素;我写到:迭代一个循环直到2D矢量的倒数第二个元素
for my $i (0..$#vector) {
for my $j (1..${$vector[$i]}[-2]) {
....
}
}
但它不起作用。为什么?
正如在标题中,我想做一个迭代直到二维矢量的倒数第二个元素;我写到:迭代一个循环直到2D矢量的倒数第二个元素
for my $i (0..$#vector) {
for my $j (1..${$vector[$i]}[-2]) {
....
}
}
但它不起作用。为什么?
此:
${$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]) {
....
}
}