is_struct 함수 설명
is_struct
함수는 주어진 값이 구조체(struct)인지 확인하는 기능을 제공합니다. 만약 값이 구조체라면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다. 주의할 점은 메서드 변수는 true
를 반환하지만, 객체 인스턴스는 false
를 반환한다는 것입니다.
문법
is_struct(val);
인수
인수 | 타입 | 설명 |
---|---|---|
val | Any | 확인할 값 |
반환값
반환 타입 | 설명 |
---|---|
Boolean | 값이 구조체이면 true , 아니면 false |
예제
if (is_struct(a)) {
delete(a);
}
위의 코드는 변수 a
가 구조체인지 확인하고, 만약 true
가 반환되면 해당 구조체를 삭제합니다.
활용 예제
예제 1: 구조체 확인 후 처리
var myValue = some_function();
if (is_struct(myValue)) {
// 구조체일 경우 처리
show_message("myValue는 구조체입니다.");
} else {
// 구조체가 아닐 경우 처리
show_message("myValue는 구조체가 아닙니다.");
}
예제 2: 배열 내 구조체 확인
var myArray = [struct1, struct2, 5, "text"];
for (var i = 0; i < array_length(myArray); i++) {
if (is_struct(myArray[i])) {
// 구조체인 경우
show_message("배열의 " + string(i) + "번째 요소는 구조체입니다.");
}
}
예제 3: 메서드 변수와 구조체 비교
var methodVar = some_method();
if (is_struct(methodVar)) {
// 메서드 변수가 구조체인 경우
show_message("메서드 변수는 구조체입니다.");
} else {
// 메서드 변수가 구조체가 아닌 경우
show_message("메서드 변수는 구조체가 아닙니다.");
}
예제 4: 객체 인스턴스 확인
var objInstance = instance_create_layer(0, 0, "Instances", obj_myObject);
if (is_struct(objInstance)) {
// 객체 인스턴스가 구조체인지 확인
show_message("객체 인스턴스는 구조체입니다.");
} else {
show_message("객체 인스턴스는 구조체가 아닙니다.");
}
이 문서에서는 is_struct
함수의 사용법과 다양한 활용 예제를 설명하였습니다.