배열 생성 함수 설명
array_create_ext
함수는 주어진 크기의 배열을 생성합니다. 새 배열의 각 요소에 대해 주어진 콜백 함수를 호출하고, 그 반환 값을 해당 요소에 적용합니다. 이 함수를 사용하면 배열 인덱스에 따라 값이 변경되는 배열을 초기화할 수 있습니다.
콜백 함수
두 번째 인수로 제공된 콜백 함수는 1개의 인수를 받아야 하며, 이는 현재 배열 요소의 인덱스입니다. 이 함수는 어떤 타입의 값을 반환할 수 있으며, 해당 인덱스에 배열에 저장됩니다.
문법
function(index);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
index | Real | 현재 배열 인덱스 |
문법
array_create_ext(size, function);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
size | Real | 배열의 크기 |
function | Function | 각 항목을 초기화하는 데 사용되는 콜백 함수 |
예제
var _f = function(_index) {
return _index + 1;
};
array = array_create_ext(100, _f);
show_debug_message(array);
위의 코드는 먼저 인덱스를 인수로 받아 인덱스에 1을 더한 값을 반환하는 임시 함수 _f
를 생성합니다. 그런 다음 _f
함수를 사용하여 1부터 100까지의 정수로 채워진 배열을 생성하는 array_create_ext
를 호출합니다.
활용 예제
- 배열 초기화: 배열을 0부터 99까지의 값으로 초기화하는 예제.
gml var _initZeroToN = function(_index) { return _index; }; array = array_create_ext(100, _initZeroToN);
- 제곱 배열 생성: 배열의 각 요소를 해당 인덱스의 제곱으로 초기화하는 예제.
gml var _squareFunction = function(_index) { return _index * _index; }; array = array_create_ext(10, _squareFunction);
- 랜덤 배열 생성: 배열의 각 요소를 랜덤 값으로 초기화하는 예제.
gml var _randomFunction = function(_index) { return random(100); // 0부터 100 사이의 랜덤 값 }; array = array_create_ext(50, _randomFunction);
- 피보나치 수열 생성: 배열을 피보나치 수열로 초기화하는 예제.
gml var _fibonacciFunction = function(_index) { if (_index == 0) return 0; else if (_index == 1) return 1; else return array[_index - 1] + array[_index - 2]; }; array = array_create_ext(10, _fibonacciFunction);
- 배열의 인덱스에 따라 문자열 생성: 배열의 각 요소를 "Index: X" 형식의 문자열로 초기화하는 예제.
gml var _stringFunction = function(_index) { return "Index: " + string(_index); }; array = array_create_ext(20, _stringFunction);