4.3.2 while 루프 사용하기
for 루프와 달리 while 루프는 주어진 조건을 만족하는 동안에는 실행을 멈추지 않는다.
예를 들어 다음 while 루프는 x = 0으로 시작한다. 매번 루프는 x가 x <= 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 루프와 마찬가지로 흐름 제어 명령문(break와 next)은 while에도 그대로 사용할 수 있다.
> x <- 0 > while (TRUE) { + x <- x+ 1 + if (x == 4) break + else if (x == 2) next + else cat(x, '\n') + } 1 3