for
正在应用循环。列表
ds
结果和循环逻辑的初始after相同。
[ 1 ] Before nested for-loop: 1 1 1 2
[ 1 ] After nested for-loop: 1 2 1 2
[ 2 ] Before nested for-loop: 1 2 1 2
[ 2 ] After nested for-loop: 1 3 1 2
[ 3 ] Before nested for-loop: 1 3 1 2
[ 3 ] After nested for-loop: 2 1 1 2
[ 4 ] Before nested for-loop: 2 1 1 2
[ 4 ] After nested for-loop: 2 2 1 2
[ 5 ] Before nested for-loop: 2 2 1 2
[ 5 ] After nested for-loop: 2 3 1 2
[ 6 ] Before nested for-loop: 2 3 1 2
[ 6 ] After nested for-loop: 3 1 1 2
[ 7 ] Before nested for-loop: 3 1 1 2
[ 7 ] After nested for-loop: 3 2 1 2
[ 8 ] Before nested for-loop: 3 2 1 2
[ 8 ] After nested for-loop: 3 3 1 2
[ 9 ] Before nested for-loop: 3 3 1 2
[ 9 ] After nested for-loop: 4 1 1 2
[ 10 ] Before nested for-loop: 4 1 1 2
[ 10 ] After nested for-loop: 4 2 1 2
[ 11 ] Before nested for-loop: 4 2 1 2
[ 11 ] After nested for-loop: 4 3 1 2
[ 12 ] Before nested for-loop: 4 3 1 2
[ 12 ] After nested for-loop: 1 1 1 2
根据逻辑,上一次迭代中嵌套的for循环将把[[1]]和[[2]]更新为1。
cat("[",iter,"]","Before nested for-loop:\t", unlist(ds),"\n")
# ds: 4 3 1 2
for (i in order) {
ds[axis_iter][[i]] <- ds[axis_iter][[i]] + 1 # at i=2 => ds: 4 4 1 2, at i=1 => ds: 5 1 1 2
if (ds[axis_iter][[i]] <= d[i]) # condition not satisfied
break
else
ds[axis_iter][[i]] <- 1 # at i=2 => ds: 4 1 1 2, at i=1 => ds: 1 1 1 2
}
cat("[",iter,"]","After nested for-loop:\t", unlist(ds),"\n")
# ds: 1 1 1 2