더북(TheBook)

4.3.2 while 루프 사용하기

for 루프와 달리 while 루프는 주어진 조건을 만족하는 동안에는 실행을 멈추지 않는다.

예를 들어 다음 while 루프는 x = 0으로 시작한다. 매번 루프는 xx <= 5인지 확인한다. 조건을 만족하면 내부 표현식을 실행한다. 그리고 조건을 만족하지 않으면 while 루프를 종료한다.

> x <- 0
> while (x <= 5) {
+     cat(x, " ", sep = "")
+     x <- x+ 1
+ }
0 1 2 3 4 5

x가 더 이상 증가하지 않도록 x <- x + 1 부분을 제거한다면 이 코드는 R을 강제로 종료할 때까지 계속 실행된다. 따라서 while 루프는 정확히 구현하지 않으면 위험할 수 있다.

for 루프와 마찬가지로 흐름 제어 명령문(breaknext)while에도 그대로 사용할 수 있다.

> x <- 0
> while (TRUE) {
+     x <- x+ 1
+     if (x == 4) break
+     else if (x == 2) next
+     else cat(x, '\n')
+ }
1
3
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.