array_foreach 함수 설명 및 활용 예제
함수 설명
array_foreach
함수는 배열(또는 배열의 특정 범위)을 반복하면서 각 요소에 대해 지정된 콜백 함수를 실행합니다. 이 함수를 사용하여 배열 요소를 직접 변경할 수는 없지만, 배열 요소가 다른 것을 참조하는 경우(예: 배열 요소가 배열이나 구조체인 경우)에는 변경이 가능합니다.
콜백 함수
이 함수에 전달하는 콜백 함수는 다음과 같은 인자를 받아야 합니다:
인자 | 타입 | 설명 |
---|---|---|
element | Any | 현재 배열 요소 |
index | Real | 현재 배열 인덱스 |
이 콜백 함수는 값을 반환하지 않아야 하며, 주어진 범위의 모든 요소에 대해 함수를 실행합니다.
반환값
- N/A
예제
다음은 array_foreach
함수를 사용하는 예제입니다:
var _array = [{ x: 4, y: 5 }, { x: 12, y: 8 }, { x: 75, y: 23 }];
var _set_x_to_index = function(_element, _index) {
_element.x = _index;
};
array_foreach(_array, _set_x_to_index);
위 코드는 먼저 각 구조체가 x
와 y
값을 저장하는 임시 배열을 생성합니다. 그런 다음, 요소와 인덱스를 받아 요소의 x
값을 인덱스로 설정하는 임시 함수를 정의합니다. 마지막으로 array_foreach
를 배열과 함수를 인자로 호출합니다. 코드가 실행된 후 모든 구조체의 x
값은 배열 인덱스로 설정됩니다.
활용 예제
예제 1: 배열 요소의 값 변경
var _numbers = [1, 2, 3, 4, 5];
var _double_value = function(_element, _index) {
_element *= 2;
};
array_foreach(_numbers, _double_value);
예제 2: 구조체 배열의 특정 필드 업데이트
var _people = [{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }];
var _increment_age = function(_element, _index) {
_element.age += 1;
};
array_foreach(_people, _increment_age);
예제 3: 배열의 문자열 길이 출력
var _strings = ["apple", "banana", "cherry"];
var _print_length = function(_element, _index) {
show_message(string_length(_element));
};
array_foreach(_strings, _print_length);
예제 4: 중첩 배열의 값 변경
var _nested_array = [[1, 2], [3, 4], [5, 6]];
var _increment_nested = function(_element, _index) {
array_foreach(_element, function(_sub_element, _sub_index) {
_sub_element += 1;
});
};
array_foreach(_nested_array, _increment_nested);
이와 같이 array_foreach
함수를 활용하여 다양한 배열 및 구조체의 요소를 처리할 수 있습니다.