R中的内部循环中的break功能如何?

问题描述 投票:0回答:1
while (statement 1){
  ......
  ......
  if (statement 2){
    x <- x + 1
    break
  }
  if (statement 3){
    y <- y + 1
  }
}

我有一个如上所示的伪代码,我想验证一下我的理解是否正确。当statement 2满足时,第一个if loop中的方程式仍将运行,然后它将打破if loop,即使while loop仍继续运行,也永远不会再回来?

我希望我能在这个senario中得到关于break函数的解释。感谢您的帮助!

r if-statement break
1个回答
0
投票

您可以通过以下简单示例验证其工作方式:

num <- 2
x <- 0
y<- 0

while (TRUE){
   if (num %% 10 == 0){
     cat('\nprinting from 1: ', num)
      x <- x + 1
      break
    }
   if (num %% 2 == 0){
     cat('\nprinting from 2: ', num)
   }
   num <- num + 1
}


#printing from 2:  2
#printing from 2:  4
#printing from 2:  6
#printing from 2:  8
#printing from 1:  10
© www.soinside.com 2019 - 2024. All rights reserved.