假设我有以下代码块:
x <- 0
while (x < 50){
for (i in letters){
print(i)
x <- x + 10
}
}
操作顺序是什么?即使for循环中有更多循环,Whit停止条件也适用吗?
我对此进行了测试,尽管x
达到了250,它仍然遍历了整个for循环。
是否有一种方法可以添加一条规则,该规则要求在while循环之前执行while循环?
答案 0 :(得分:2)
您的for
循环嵌套在while
循环内。每次while
循环进入一个迭代时,控制都将移交给它的循环主体,在本例中为for
循环。for
循环然后控制并执行其迭代。之后,for
循环退出其控制,并移交给while
循环。 while
循环的类型决定了整个for循环执行的次数。
要在条件被破坏或使用任何其他逻辑的break
for循环中,可以在循环体内的break
块内使用if
语句。
答案 1 :(得分:1)
由于(x <50)在开始时为true,因此不会进行任何条件检查,直到for循环完成为止。唯一的选择是在条件循环中使用条件中断。
for (i in letters){
if (x < 50){
break
}
print(i)
x <- x + 10
}