문자열 반복 함수 설명
string_foreach
함수는 주어진 문자열의 모든 문자에 대해 콜백 함수를 실행합니다. 이 함수는 선택적으로 시작 위치와 길이를 받아들여 반복할 문자 범위를 정의하고, 반복 방향(왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽)을 설정할 수 있습니다. 콜백 함수는 문자열의 각 문자에 대해 두 개의 인자를 받습니다: 문자 자체와 문자열 내 위치입니다.
문법
string_foreach(string, function, [pos], [length]);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
string | String | 반복할 문자열입니다. |
function | Function | 범위 내 각 문자에 대해 실행할 함수로, 인자로 character 와 position 을 받습니다. |
pos | Real | 시작 위치 (기본값은 문자열의 경우 1). 음수 값은 문자열의 끝에서부터 계산됩니다 (예: -1은 마지막 문자, -2는 그 전 문자 등). 0은 1과 동일하게 처리됩니다. |
length | Real | 반복할 문자 수와 반복 방향을 정의합니다 (왼쪽에서 오른쪽(양수 값) 또는 오른쪽에서 왼쪽(음수 값)). |
반환값
N/A
활용 예제
예제 1: 기본 문자 출력
function debug_character(character, position) {
show_debug_message(character);
}
string_foreach("test", debug_character);
위 코드는 debug_character
함수를 정의하여 각 문자를 로그에 출력합니다. 그런 다음 string_foreach
를 호출하여 문자열 "test"의 모든 문자에 대해 debug_character
함수를 실행합니다.
예제 2: 문자와 위치 출력
function debug_extended(character, position) {
show_debug_message("{0}: {1}", position, character);
}
string_foreach("1234567890", debug_extended, -1, -infinity);
위 코드는 debug_extended
함수를 정의하여 문자와 그 위치를 함께 출력합니다. string_foreach
를 호출할 때 debug_extended
함수를 문자열 "1234567890"에 대해 실행합니다. 오프셋이 -1이므로 함수는 마지막 문자("0")부터 시작하여 문자들을 역순으로 탐색합니다.
예제 3: 특정 범위의 문자 출력
function debug_range(character, position) {
show_debug_message("Character at position {0}: {1}", position, character);
}
string_foreach("Hello, World!", debug_range, 1, 5);
이 예제에서는 문자열 "Hello, World!"의 처음 5개의 문자에 대해 debug_range
함수를 실행합니다.
예제 4: 오른쪽에서 왼쪽으로 문자 출력
function debug_reverse(character, position) {
show_debug_message("Reverse character at position {0}: {1}", position, character);
}
string_foreach("GameMaker", debug_reverse, -1, -8);
이 예제에서는 문자열 "GameMaker"의 모든 문자를 오른쪽에서 왼쪽으로 출력합니다.
예제 5: 특정 문자만 필터링하여 출력
function debug_filter(character, position) {
if (character == 'a') {
show_debug_message("Found 'a' at position {0}", position);
}
}
string_foreach("banana", debug_filter);
이 예제에서는 문자열 "banana"에서 문자 'a'만 찾아서 그 위치를 출력합니다.