지난 포스팅에서 데이터 유형에 대해서 얘기해봤는데요, 부연 설명이 부족한 것 같아서 좀 더 나은 이해를 돕기 위해 Data Type Collection의 세부 종류 중 하나인 배열(Array)에 대해서 조금 더 자세히 살펴보겠습니다.
배열이란
배열 변수는 동일한 테이터 유형의 여러 값을 저장할 수 있는 변수 유형입니다. 생성할 때부터 크기가 정해지는 요소들의 집합으로 각 항목은 색인으로 식별이 가능하다는 특징이 있습니다. The array variable is a type of variable that enables storing multiple values of the same data type. Think of it as a group of elements with a size that is defined at creation, and each item can be identified by its index.
배열의 특징
위의 정의에 따라서, 배열(Array)의 특징은 아래와 같이 크게 3가지로 분류할 수 있습니다.
- 동일한 데이터 유형의 여러 값을 갖는다.
- 생성시 크기가 정해진다. (크기 고정)
- 각 항목은 색인(index)으로 식별이 가능하다.
말로 듣고 글로 읽는 것보다는 직접 해보는 게 큰 도움이 되겠죠? Uipath Studio에서 직접 배열을 만들어 보겠습니다.
Uipath Studio 배열 만들기
[예제]
문자열 유형의 배열을 생성한 후, 동일 유형 데이터를 2개 이상 넣어주고 해당 데이터들을 연결해서 출력, 문장을 만든다.
1. 새로운 프로세스를 생성해줍니다.
2. Activities Panel에서 Assign을 더블클릭하거나, 끌어서 Main창으로 가져옵니다.
3. Assign 액티비티의 왼쪽 박스에서 Ctrl + K를 누르고 변수명을 부여합니다.
액티비티(Activities)는 문법뭉텅이 정도로 생각해주시면 됩니다. 예를 들어 a = 1이라고 하면 a에게 1이라는 값을 줬다는 뜻입니다. 마찬가지로 Assign은 변수를 만들어서 왼쪽 칸에 a를 넣고 오른쪽 칸에 1을 넣으면 a = 1을 만들 수 있습니다. 코드를 직접 작성하는 게 아니라 이미 존재하는 액티비티로 코드를 만드는 과정인 거죠.
4. Assign 액티비티의 오른쪽 박스에서 {} 중괄호를 넣고 2개 이상의 값을 넣어줍니다.
여기까지 진행하셨다면 ! 파란색 느낌표가 보이실겁니다. 이 느낌표는 무언가 오류가 발생했을 때 나타납니다. Assign 액티비티는 데이터 유형의 기본값을 문자열로 갖기 때문에 오류가 발생했습니다. 기억하셔야 할 부분은 문자열 데이터 유형은 큰 따옴표 안에 넣어주어야 문자열로 인식하도록 사전 약속이 되어있다는 점입니다. 지금은 큰 따옴표가 아니라 중괄호 안에 값을 넣어줬기 때문에 데이터 유형이 달라서 오류가 발생했습니다. 오류를 수정하기 위해 변수의 데이터 유형을 맞춰주는 작업을 해보겠습니다.
5. Variables Panel에서 데이터 유형을 Array of [T]에서 String으로 변경해줍니다.
그럼, String [] 이렇게 표기될 텐데요, 문자(string) 데이터 유형으로 여러 개의 값 []을 담고 있다는 의미가 됩니다.
이렇게 stringArray라는 배열 변수도 만들었고, "Morning"과 "Susan"이라는 문자 값도 2개 넣어줬습니다. 그럼 이제 결과 값을 한번 출력해볼까요? 컴퓨터 언어 중 하나인 Python에 결과물을 출력하는 문법 print()가 있다면, Uipath에는 결과물을 출력하는 액티비티 Write Line과 Message Box가 있습니다.
6. Activities Panel에서 Write Line 또는 Message Box를 더블클릭하거나, 끌어서 Main창에 가져옵니다.
프로세스를 실행하면 Output Panel에 결괏값이출력됩니다. Write Line은 Output Panel에 값을 출력해주고 Message Box는 알림 창 팝업으로 값을 출력해준다는 차이점이 있습니다.
7. Write Line 또는 Message Box에 출력할 값 stringArray(0) + stringArray(1)을 넣어줍니다.
stringArray(0) + stringArray(1)의 의미는 무엇일까요? stringArray라는 변수에 "Morning"과 "Susan"이라는 2개의 값이 들어있습니다. Array의 특징 중 하나는 각 항목은 색인(index)으로 식별이 가능하다는 것입니다. 즉, stringArray(0) + stringArray(1)의 의미는 "stringArray의 0번째에 있는 Morning을 불러오고 stringArray의 1번째에 있는 Susan을 불러와서 둘을 + 결합해줘"가 됩니다. 이때 배열에서 색인의 시작은 1이 아니라 0이라는 점을 기억해주셔야 합니다.
8. Debug File 또는 ▶ 재생 모양 아이콘을 눌러서 프로세스를 실행합니다.
여기까지 진행하셨다면 Output Panel결과 패널에 "MorningSusan"이라는 결괏값이 출력되었음을 확인하실 수 있습니다.
MorningSusan이라고 쓰면 되는데 왜 굳이 어렵게 배열에 넣어주고 색인으로 불러와야 할까라고 생각하실 수도 있습니다. 만약에 월, 화, 수, 목, 금, 토, 일요일이라는 값을 매번 적어주는 프로세스를 만들어야 한다고 가정했을 때 하나하나 타이핑하려면 힘들지 않을까요? 갑자기 한국어에서 영어로 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday로 변경해야 한다면 더 힘들어지게 됩니다. 이러한 상황을 대비해서 배열을 활용하면 특정 데이터를 쉽게 변경할 수 있습니다. 다음 포스팅에서는 Control flow의 Loop와 While, Do While 반복문에 대해 살펴보겠습니다.