-
유니티 튜플 사용법 / Unity How to Use Tuple유니티 2023. 9. 5. 11:20
튜플은 어디에서 사용될까요?
보통 함수의 반환형식은 1개입니다.
그래서 커스텀 class나 struct로 반환하기도 하지요.
두개 이상이고 나오는 형태가 명확할 때 out 키워드를 쓰기도 합니다.
하지만 범용적으로 사용되는 목적이 아닌
임시로 사용되면서 두개 이상의 값을 편하게 반환받고 싶을때 튜플을 잘 사용하고 있습니다.
생성
(int, float) tuple = (1, 3.14f); print(tuple.Item1); // 1 print(tuple.Item2); // 3.14
두가지 이상의 형식을 괄호로 묶습니다.
첫번째부터 Item1, 두번째는 Item2 처럼 접근합니다.
전역변수에서 public으로 선언해도 인스펙터에 드러나지 않는 특징이 있습니다.
이름을 붙혀 생성
(int num, float pi) tuple = (1, 3.14f); print(tuple.num); // 1 print(tuple.pi); // 3.14
튜플.이름으로 접근할 수 있습니다.
var를 사용해 생성
var tuple = (1, 3.14f); print(tuple.Item1); // 1 print(tuple.Item2); // 3.14
형식을 암시적으로 만들어 프로그램이 유추하게 합니다.
두가지 이상의 값을 반환하는 함수
(int sum, int sub) Calc(int a, int b) { return (a + b, a - b); } var calc = Calc(1, 2); print(calc.sum); // 3 print(calc.sub); // -1
두가지 이상의 값을 반환하는 함수를 만들어 사용할 수 있습니다.
키를 비교해 값을 가져오는 예제
List<(int id, GameObject obj)> profiles = new(); profiles.Add((1, new GameObject("First"))); profiles.Add((2, new GameObject("Second"))); foreach (var profile in profiles) { if (profile.id == 2) print(profile.obj.name); // Second }
튜플도 형식이라서 리스트내에 들어갈 수 있는데 이런 스타일이 제가 자주 애용하는 방법입니다.
튜플의 id를 검사해 GameObject를 얻고 싶을 때, 임시로 수치를 부여할 때에도 사용하기도 합니다.
간단하게는 딕셔너리를 대신 임시로 사용할 수도 있습니다.
'유니티' 카테고리의 다른 글
유니티 추상클래스로 깔끔한 코드 작성하기 / Unity Abstract Class (0) 2023.09.05 유니티 함수 내에서만 사용되는 지역함수 / Unity Local Function (0) 2023.09.05 유니티 반응형 UI 기초지식 / Unity How to Make Flexible Responsive UI (0) 2023.08.31 유니티 비주얼 이펙트 그래프 백과사전 / Unity Visual Effect Graph All Nodes (2) 2023.08.31 유니티 AES 암호화, 복호화하기 / Unity AES Encrypt and Decrypt (0) 2023.08.31