달나라 노트

Google Apps Script : while loop (while 반복문) 본문

Google Apps Script

Google Apps Script : while loop (while 반복문)

CosmosProject 2022. 11. 22. 20:23
728x90
반응형

 

 

 

while loop에 대해 알아봅시다.

 

 

Syntax

while (condition;) {
  ... do something ...
}

 

while 반복문은 간단합니다.

 

while 반복문이 실행된 후 매 loop의 단계마다 condition이 true인지 false인지를 테스트합니다.

 

어떠한 condition만 주면 이 condition이 true인 동안은 while 반복문이 실행되며

이 condition이 false가 된 순간 while loop가 종료됩니다.

 

 

 

예시를 봅시다.

 

function myFunction() {
  var i = 10;

  while (i <= 16) {
    Logger.log(i);
    i = i + 1;
  }
}



-- Result
10.0
11.0
12.0
13.0
14.0
15.0
16.0

 

- var i = 10;

먼저 변수 i를 만들고 10을 할당하여 초기화합니다.

 

 

- while (i <= 16)

while loop를 적어주고 조건은 i <= 16입니다.

즉, 이 while loop는 i <= 16이 true일 때에만 실행되며 false가 된 순간 while loop는 종료됩니다.

 

- Logger.log(i);
- i = i + 1;

반복문 안에서 i를 출력하고 i를 증가시킵니다.

 

 

 

이제 while loop가 어떻게 실행되었는지 그 과정을 봐봅시다.

 

먼저 i는 10으로 시작합니다.

i = 10이므로 i <= 16은 true이죠.

즉, while loop가 실행됩니다.

 

i = 10이므로 10이 출력되겠죠.

 

그리고 i = i + 1; 이 부분에 의해 i = 11이 됩니다.

 

여기까지 하면 while loop의 한 단계가 끝난겁니다.

 

 

그러면 다시 while loop의 조건체크부터 시작합니다.

i = 11입니다. i < = 16은 true겠네요.

while loop가 다시 시작됩니다.

11이 출력되고 i = i + 1; 이 부분에 의해 i는 12가 됩니다.

 

그리고 다시 while loop가 다시 실행됩니다.

 

이렇게 쭉 가다가 i = 16이 되었다고 합시다.

i = 16이면 i <= 16은 true네요.

그러면 while loop가 실행되고 16이 출력되며 i = i + 1에 의해 i = 17이 됩니다.

 

다음 while loop를 실행하려고보니 i = 17이죠.

따라서 i <= 16 이 조건이 false가 됩니다.

 

while loop가 종료됩니다.

 

그래서 출력된 숫자를 보면 10, 11, 12, 13, 14, 15, 16까지만 출력된 것이죠.

 

 

 

 

 

 

 

function myFunction() {
  var i = 10;

  while (i <= 16) {
    Logger.log(i);
    // i = i + 1;
  }
}

 

while loop는 기본적으로 loop의 실행 여부가 조건식에서 판별됩니다.

만약 위처럼 i = i + 1 이 부분을 없애버리면 i는 영원히 10일 것이고 i <= 16은 영원히 true일 것입니다.

이렇게되면 while loop는 무한하게 실행되는 무한루프에 걸리는 것이죠.

 

그래서 while loop를 이용할 때에는 무한루프가 걸리지 않도록 주의해야합니다.

(물론, 의도적으로 무한루프를 구현하는 경우도 있긴 합니다.)

 

 

 

 

 

 

728x90
반응형
Comments