is_callable 함수 설명
is_callable
함수는 주어진 인자가 호출 가능한지 여부를 반환합니다. 즉, 이 인자가 메서드이거나 함수의 인덱스를 참조하는지를 확인합니다. 함수 인덱스는 내장 함수, 스크립트 함수 또는 스크립트 자산을 참조할 수 있습니다. 만약 값이 메서드인지 확인하고 싶다면 is_method
함수를 사용해야 합니다.
문법
is_callable(n);
인자
인자 | 타입 | 설명 |
---|---|---|
n | Any | 확인할 값 |
반환값
반환값 | 타입 | 설명 |
---|---|---|
Boolean | - | 호출 가능하면 true, 아니면 false |
예제
다음은 is_callable
함수를 사용하는 예제입니다.
function my_function() {
return random(10);
}
my_method = function() {
return "Hello World!";
}
show_debug_message(is_callable(my_function)); // true
show_debug_message(is_callable(my_method)); // true
show_debug_message(is_callable(draw_text)); // true
위의 코드는 먼저 my_function
이라는 함수를 정의하고, my_method
라는 메서드를 정의합니다. 그 후 세 개의 디버그 메시지를 보여줍니다. 각 메시지는 is_callable
을 호출한 결과를 보여줍니다: 첫 번째는 my_function
, 두 번째는 my_method
, 세 번째는 내장 함수인 draw_text
에 대한 것입니다. 세 개의 디버그 메시지는 모두 true를 표시합니다. 왜냐하면 세 가지 모두 호출 가능하기 때문입니다.
활용 예제
1. 사용자 정의 함수 확인
사용자가 정의한 함수가 호출 가능한지 확인할 수 있습니다.
function custom_function() {
return "Custom Function Executed";
}
if (is_callable(custom_function)) {
show_debug_message(custom_function());
}
2. 메서드 확인
객체의 메서드가 호출 가능한지 확인하는 예제입니다.
var obj = {
method: function() {
return "Method Called";
}
};
if (is_callable(obj.method)) {
show_debug_message(obj.method());
}
3. 내장 함수 확인
내장 함수가 호출 가능한지 확인하는 예제입니다.
if (is_callable(show_debug_message)) {
show_debug_message("This is a built-in function.");
}
4. 배열의 함수 참조 확인
배열에 저장된 함수가 호출 가능한지 확인하는 예제입니다.
var functions_array = [my_function, my_method];
for (var i = 0; i < array_length(functions_array); i++) {
if (is_callable(functions_array[i])) {
show_debug_message(functions_array[i]());
}
}
이와 같이 is_callable
함수를 활용하여 다양한 상황에서 함수나 메서드가 호출 가능한지를 쉽게 확인할 수 있습니다.