ref_create 함수 설명 및 활용 예제
ref_create
함수는 구조체나 인스턴스 내의 변수에 대한 참조를 생성하는 기능을 제공합니다. 이 함수는 변수의 소속 구조체나 인스턴스, 변수의 이름(문자열로) 또는 이름이나 인덱스를 저장하는 변수에 대한 참조를 입력받습니다. 배열의 경우, 세 번째 인수로 어떤 인덱스에 대한 참조를 생성할지를 지정할 수 있습니다. 더 복잡한 참조도 생성할 수 있으며, 가능한 모든 예제는 아래에 나와 있습니다.
함수 구문
ref_create(dbgrefOrStruct, dbgrefOrIndex[, index]);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
dbgrefOrStruct | Reference or Struct | 참조할 변수를 포함하는 구조체 또는 인스턴스, 또는 그에 대한 참조. self/other/global도 허용됨. |
dbgrefOrIndex | Reference or String | 변수의 이름(문자열) 또는 그에 대한 참조. |
index | Real | 참조하는 것이 배열인 경우, 배열의 인덱스. |
반환값
- Reference
활용 예제
예제 1: 인스턴스 변수에 대한 기본 참조
text = "This is some text";
ref_to_text = ref_create(self, "text");
위 코드는 Create
이벤트에서 인스턴스 변수 text
를 생성한 후, ref_create
를 사용하여 그에 대한 참조를 생성하고, 이를 ref_to_text
변수에 저장합니다.
예제 2: 배열 인덱스에 대한 기본 참조
array = [1, 2, 3, 4, 5];
ref_to_index = ref_create(self, "array", 2);
위 코드는 5개의 요소를 가진 배열 array
를 생성한 후, ref_create
를 사용하여 인덱스 2(세 번째 요소)에 대한 참조를 생성하고, 이를 ref_to_index
변수에 저장합니다.
예제 3: 복잡한 참조
the_struct = {a: "text", b: 485};
ref_to_struct = ref_create(self, "the_struct");
ref_to_struct_var = ref_create(ref_to_struct, "a");
위 코드는 두 개의 변수를 가진 구조체 the_struct
를 생성한 후, ref_create
를 사용하여 그 구조체에 대한 참조를 생성하고, 이를 ref_to_struct
에 저장합니다. 이후 ref_to_struct
를 사용하여 구조체의 변수 a
에 대한 참조를 생성하고, 이를 ref_to_struct_var
에 저장합니다.
예제 4: 복잡한 배열 참조
array = [3, 4, 1, 7, 8, 2];
index = 4;
ref_to_array = ref_create(self, "array");
ref_to_index = ref_create(self, "index");
ref_to_array_at_index = ref_create(ref_to_array, ref_to_index);
위 코드는 배열 array
에 대한 참조를 생성하고, index
변수에 대한 참조를 생성한 후, 두 참조를 사용하여 배열의 특정 인덱스에 대한 참조를 생성합니다. 이 경우, index
변수의 값이 변경되면 ref_to_array_at_index
가 참조하는 배열 요소도 변경됩니다.
이와 같은 방식으로 ref_create
함수를 활용하여 다양한 참조를 생성하고, 이를 통해 동적인 데이터 관리를 할 수 있습니다.