본문으로 바로가기

SET과 MAP 데이터의 함수들

category Programming/LabVIEW 2021. 8. 7. 22:08
반응형

랩뷰 2019 버전부터 지원하기 시작한 셋과 맵 데이터 타입에 대해 알아보았다. 이번에는 셋과 맵 데이터 타입에서 사용하는 몇 가지 함수들에 대해 알아보자.

원소 추가 & 삭제 함수

가장 먼저 알아볼 함수는 셋과 맵 데이터에 원소를 추가 또는 삭제하는 함수이다.

두 타입의 데이터에서 원소를 추가 또는 삭제하는 함수는 함수 팔레트에서 Programming > Collection > Map (or Set)에서 찾을 수 있고, 추가할 때는 Insert Into XXX, 삭제할 때는 Remove From XXX 함수를 사용한다. (XXX에는 데이터 타입에 따라 Map 또는 Set이 들어간다.)

셋 데이터 타입은 맵 데이터 타입에서 키가 제외된 타입으로 볼 수 있으므로, 맵 데이터 타입의 함수들을 통해 원소를 추가 또는 삭제하는 과정을 살펴보자. 먼저, 알아볼 함수는 Insert Into Map 함수이다. Insert Into Map 함수는 위 그림과 같이 3개의 입력과 3개의 출력 터미널을 가지고 있다. 맵 데이터에 새로운 원소를 추가하는 용도로 사용되는 함수이므로, 원본이 되는 맵 데이터가 전달되는 터미널과 추가할 키 데이터, 그리고 그에 상응하는 데이터가 전달되는 터미널들이 위에서부터 순서대로 입력되고, 이렇게 전달된 데이터가 반영된 새로운 맵 데이터가 출력 터미널로 반환된다. 이어진 2개의 출력 터미널은 원본 맵 데이터에 이미 원소로 등록된 키가 사용되었는지를 확인해주는 용도와 원본 맵 데이터에서 변경된 부분이 있는지를 알려주는 용도로 사용된다. 키의 경우 중복을 허용하지 않는다는 것과 같은 키에 대한 데이터가 전달되었을 때 가장 최근 데이터로 업데이트 되는 맵 데이터의 특성을 생각해보면, 왜 이러한 정보를 출력 터미널을 이용해서 전달하는지를 이해할 수 있다.

Remove From Map 함수는 위 그림과 같이 2개의 입력 터미널과 3개의 출력 터미널로 구성되어 있다. 맵 데이터에서 특정 키를 삭제하는 용도로 사용되는 함수이므로, 원본이 되는 맵 데이터와 삭제할 키 데이터가 위에서부터 순서대로 입력되고, 해당 키가 삭제된 맵 데이터가 출력으로 반환된다. 이어진 2개의 출력 터미널은 원본 맵 데이터에 원소로 등록되지 않은 키인지 알려주는 용도와 삭제되는 키에 어떤 데이터가 매핑되었었는지를 알려주는 용도로 사용된다. 만약, 원본 맵 데이터에 원소로 등록되지 않은 키의 삭제 명령이 실행되는 경우 반환되는 데이터는 0이 출력된다.

간단한 예제 프로그램과 실행 결과를 보면서 지금까지 설명한 내용을 다시 한번 확인해보자.


원소 검색 함수

이번에 알아볼 함수는 맵과 셋 데이터에서 원하는 데이터를 검색할 때 사용하는 함수이다.

셋 데이터 타입의 경우 Element of Set? 함수가 여기에 해당하고, 맵 데이터 타입의 경우 Look In Map 함수가 여기에 해당한다.

셋 데이터 타입은 원소들을 하나의 집합으로 모아둔 데이터이므로, 원소를 검색한다해도 집합에 속했는지 아닌지 정도만 확인할 수 있다. 그러나 맵 데이터는 키를 이용해서 검색하므로, 위 그림과 같이 데이터 내부에 키가 속해있는지 여부도 확인하면서 그에 상응하는 데이터도 확인할 수 있다. 만약, 검색하려는 키가 맵 데이터 안에 속해있지 않는 경우에는 제일 아래에 위치한 결과 데이터 입력이 반환된다는 것을 기억하자.

간단한 예제 프로그램과 실행 결과를 보면서 지금까지 설명한 내용을 다시 한번 확인해보자.

반응형

'Programming > LabVIEW' 카테고리의 다른 글

랩뷰에서 파이썬 실행하기  (0) 2021.08.09
SubVI  (0) 2021.08.09
MAP 데이터 타입  (0) 2021.08.06
SET 데이터 타입  (0) 2021.08.03
배열 초기화 & 배열 만들기 함수  (0) 2021.08.01