循环中优先考虑的因素是:For或While?

时间:2019-03-25 05:03:15

标签: r

假设我有以下代码块:

x <- 0

while (x < 50){
  for (i in letters){
    print(i)
    x <- x + 10
  }
}

操作顺序是什么?即使for循环中有更多循环,Whit停止条件也适用吗?

我对此进行了测试,尽管x达到了250,它仍然遍历了整个for循环。

是否有一种方法可以添加一条规则,该规则要求在while循环之前执行while循环?

2 个答案:

答案 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

}