Loop(반복문) 3가지 종류 중에서 마지막 남은 "For Each"에 대해 포스팅해보겠습니다. 반복문은 주어진 조건에 따라 일련의 작업을 반복하는 명령이라고 말씀드렸는데요, For each는 모음(Collection)의 각 요소에 대해 활동 또는 일련의 활동을 수행하는 명령입니다. 여기에서 중요한 부분은 바로 모음(Collection)입니다.

 

 

For Each를 활용한 Uipath 예문

 

For Each는 다른 코딩에서 많이 사용되는 For문이라고 생각하시면 됩니다. For문은 데이터 묶음에서 데이터를 하나씩 빼낸다는 느낌인데요, 자루에 공이 10개 들어있으면 순서대로 1개씩 빼내는 과정입니다. 예제를 통해 같이 살펴보겠습니다. 배열에서 가장 큰 숫자와 가장 작은 숫자 찾기입니다. 해당 예시는 Uipath 홈페이지에 나와 있는 예제로 수치만 일부 수정했습니다.

 

1. Assign 액티비티로 Int32(숫자 데이터 유형)의 배열을 만들어 줍니다.

 

Assign 액티비티의 왼쪽칸에 Numbers라는 변수명을 넣고 오른쪽 칸에는 10, 20, 30... 요소들을 중괄호 안에 배열의 형식으로 넣어줬습니다. 이때 주의할 사항은 바로 Assign 액티비티의 데이터 유형입니다. Assign 액티비티의 기본 데이터 유형은 문자열로 되어 있지만, 지금은 숫자 배열 데이터 유형을 사용하기 때문에 숫자는 Int32 배열은 []로 데이터 유형이 Int32[]가 맞는지 확인해주세요.

 

Numbers 변수의 데이터 유형 확인
Numbers 변수의 데이터 유형 확인

 

2. Assign 액티비티로 Max와 Min 변수를 만들고 배열의 첫 번째 요소를 값으로 부여해줍니다.

 

배열은 여러가지 요소를 포함할 수 있는데 색인(순서)으로 특정 요소를 찾는다고 했습니다. 배열에서 첫 번째 색인은 1이 아닌 0이므로 Max = Numbers(0)이고 Min = Numbers(0)으로 만들어주시면 됩니다.

 

RPA - Uipath - Studio - Data Types (번외편) - Array

 

Max와 Min 변수 만들기 사진
Max와 Min 변수 만들기

 

썸네일

 

배열에서 요소를 불러오려면 Array(Index)형식으로 불러올 수 있습니다. 배열의 변수명을 적고 소괄호()를 넣고 소괄호() 안에 숫자를 넣으면 그 순서에 있는 요소를 불러옵니다. 이때, 순서는 0부터 시작합니다. 즉, Numbers라는 배열에 {10, 20, 30}이라는 요소들이 들어있다면 Numbers(0) = 10, Numbers(1) = 20, Numbers(2)= 30이 됩니다.

 

3. For Each 액티비티로 배열의 요소를 순서대로 하나씩 불러옵니다.

 

ForEach item in Numbers란 Numbers라는 배열에서 요소를 하나씩(item) 순서대로 꺼내온다는 뜻입니다. 이때, Numbers라는 배열이 가지고 있는 요소의 개수만큼 ForEach 액티비티는 반복 실행됩니다. 아래 화면 오른쪽 빨간 칸처럼 For Each 액티비티의 결과값인 Output에는 Index가 표기되는데요, ForEach 액티비티가 1번 실행되면 결괏값인 Output의 Index는 1, 2번 실행되면 2, 3번 실행되면 3이 됩니다. 이런 횟수를 확인하기 위해 Index라는 변수를 새로 만들어서 Output의 Index 값에 넣어줬습니다.

 

ForEach 액티비티의 output 사진
ForEach 액티비티의 Output

 

4. If 액티비티를 활용해서 Max와 Min 변수를 기준으로 다른 요소들과 비교하여 크고 작음을 따지고, 큰 경우 Max 값에 작은 경우 Min 값에 다시 assign합니다.

 

Numbers(Index)란 ForEach가 1번 실행되었을 때 Numbers(1), 2번 실행되었을 때 Numbers(2), 3번 실행되었을 때 Numbers(3)과 같은 뜻입니다. 즉 Max와 Min은 Numbers(0), Numbers 배열의 가장 첫 번째 요소의 값이므로 Numbers 배열의 두 번째, 세 번째, 네 번째 요소들의 값과 비교해서 최댓값과 최솟값을 찾아낼 수 있게 됩니다.

 

if 액티비티 활용해서 최댓값과 최솟값 찾는 사진
If 액티비티를 활용해서 Max와 Min 값 찾기

 

5. 가장 큰 숫자와 가장 작은 숫자를 Write Line 액티비티로 출력합니다.

 

Int32 유형인 숫자를 Write Line 액티비티로 출력하면 String 유형의 문자가 아니기 때문에 오류가 생깁니다. 이때 결과 값에 .ToString을 붙여주면 문자가 아니더라도 문자형식으로 바꿔주기 때문에 오류 없이 문자로 출력이 가능합니다.

 

반복문은 프로세스를 구성할 때 생각할 부분들이 있답니다. 예를 들면, For Each 액티비티에서 output에 있는 index값을 가져오려고 변수명을 부여해줘야 했는데 처음에는 이런 부분까지 생각하기가 쉽지 않습니다. 반복적으로 하시다 보면 값을 가져와야겠다, 부여해줘야겠다는 감이 조금씩 생기실겁니다.

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기