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]) {
....
}
}