무한반복 Loops(While, Do While) 반복문 액티비티에 대해서 알아보겠습니다. 반복문이란 주어진 조건에 따라 일련의 작업을 반복하는 명령문으로 말 그대로 반복 작업을 쉽게 처리하는데 도움이 됩니다.
Uipath 반복문의 종류
Uipath에서는 반복문과 관련된 액티비티는 Do While, While, For each 3가지가 있습니다. 그 중에서도 오늘은 Do While과 While에 대한 내용을 다뤄보겠습니다. 이름부터 비슷한 느낌이 들죠? 이 2개의 액티비티는 조건(Condition)과 행동(Body)으로 나뉘어져서 조건이 맞으면 행동의 무한한 반복을 자동화하는 액티비티입니다. 조금 더 디테일하게 설명드리자면, 조건이 참(True) 일 경우에는 행동을 반복하고 조건이 거짓(False) 일 경우에는 행동을 종료합니다.
Do while과 While의 차이
Do While과 While은 서로 상호전환이 가능하지만 유일한 차이점이 하나 있습니다. 그것은 바로 조건의 유효성을 검증하는 시점입니다. 하나씩 살펴볼까요? 먼저 Do While 입니다.
Do While : 행동(Body) ▶ 조건(Condition)
Do While은 우선 무조건 한 번은 행동을 실행하고, 그 다음에 조건이 참인지 아닌지 판단해서 조건이 참인 경우에만 행동을 무한대로 반복하는 액티비티입니다. 빠른 이해를 돕기 위해서 예시를 한번 살펴볼까요? 무작위 숫자 맞추기 게임입니다.
- 행동(Body) : 1~10까지의 범위 내에서 사용자가 임의의 숫자를 입력하도록 대화 상자를 띄운다.
- 조건(Condition) : "숫자가 8보다 작거나 크다"라는 조건값을 건다.
- 결과(Output) : 대화 상자에 숫자 8이 입력될 때까지 대화 상자가 계속 띄워진다.
즉, 일단은 한 번은대화 상자를 먼저 띄우고 숫자가 8보다 작거나 큰 지 판단해서, 참이라면 대화상자를 무한 반복적으로 띄우고, 거짓이라면 대화상자를 종료시킵니다.
While : 조건(Condition) ▶ 행동(Body)
While은 조건이 참인지 먼저 판단하고, 조건이 참이라면 그다음에 행동을 무한대로 반복하는 액티비티입니다. While문도 예시를 통해 알아보도록 하겠습니다. 무작위 숫자 맞추기 게임에서 숫자를 맞춘 경우 알림 창을 띄우는 예제입니다.
- 조건(Condition) : "숫자는 8이다"라는 조건값을 건다.
- 행동(Body) : "The number is 8. You are correct."라는 알림 창이 띄워진다
- 결과 ▷ 숫자가 8인 경우, 알림창이 계속 띄워진다.
즉, 일단은 숫자가 8인지 아닌지 먼저 판단하고, 참이라면 알림 창을 띄우고 거짓이라면 알림창을 띄우지 않습니다. 다만, 이 예제에서는 이미 상단에 있는 Do While에서 number = 8이라는 값을 가져왔기 때문에, 조건은 계속 참이고, 알림 창이 계속 다시 생성되므로 종결을 위해 Break(중단) 액티비티를 넣어뒀습니다. Break 액티비티가 없는 경우에는 행동이 계속 실행되어 오류가 발생할 수 있으니 주의해주셔야 합니다.
이해가 조금 되실까요?? 어떻게 보면 Do While과 While을 구분하는 방법이 간단한데, 또 어떻게 보면 헷갈리는 부분이기도 하기 때문에, 위 예시의 프로젝트 샘플을 직접 실행해보시면 이해에 도움이 되실 수도 있답니다.