문자열 결합 함수 설명 및 활용 예제
string_join_ext
함수는 주어진 배열의 모든 값(또는 배열의 일부)의 문자열 표현을 결합하여 각 값 사이에 주어진 "구분자"를 삽입합니다. 이 함수는 결합된 문자열을 반환합니다. 문자열이 아닌 값은 암묵적으로 string()
함수가 실행되어 문자열로 변환됩니다.
함수 구문
string_join_ext(delimiter, values_array, [offset], [length]);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
delimiter | String | 값들 사이에 삽입할 문자열입니다. |
values_array | Array | 결합할 값들을 포함하는 배열입니다. |
offset | Real | 배열에서 요소 결합을 시작할 인덱스입니다. 음수 값을 설정하면 배열의 끝에서부터 계산됩니다. |
length | Real | 오프셋에서 시작하여 결합할 배열 요소의 수입니다. 음수 값을 설정하면 배열을 역순으로 탐색합니다. |
반환 값
- String: 결합된 문자열을 반환합니다.
활용 예제
예제 1: 단어 결합
var _words = string_join_ext(" ", ["This", "example", "joins", "words"]);
위 코드는 배열의 단어들을 공백을 구분자로 사용하여 하나의 문자열로 결합합니다.
예제 2: 파일에 여러 줄 저장
var _buffer = buffer_create(1, buffer_grow, 1);
var _text_lines = ["This", "file", "will", "have", "multiple", "lines"];
var _file_contents = string_join_ext("\r\n", _text_lines);
buffer_write(_buffer, buffer_text, _file_contents);
buffer_save(_buffer, save_dir + "/" + "text.txt");
buffer_delete(_buffer);
위 코드는 먼저 성장 가능한 버퍼를 생성하고 이를 임시 변수 _buffer
에 할당합니다. 그런 다음 여러 요소를 포함하는 배열을 생성하고 이를 _text_lines
변수에 저장합니다. 이후 string_join_ext
함수를 호출하여 배열의 문자열을 구분자 "\r\n"
로 결합하여 줄바꿈을 추가합니다. 결과 문자열을 버퍼에 buffer_text
값으로 작성하고, 버퍼의 내용을 text.txt
라는 파일로 저장합니다. 마지막으로 메모리 누수를 방지하기 위해 버퍼를 삭제합니다.
추가 활용 예제
- 숫자 배열 결합
gml var _numbers = [1, 2, 3, 4, 5]; var _joined_numbers = string_join_ext(", ", _numbers);
- 부분 배열 결합
gml var _partial_join = string_join_ext(" - ", _numbers, 1, 3);
- 음수 오프셋 사용
gml || ||
- 비문자열 값 결합
gml var _mixed_values = [1, "apple", 3.14, "banana"]; var _joined_mixed = string_join_ext(", ", _mixed_values);
- 빈 배열 처리
gml var _empty_array = []; var _empty_join = string_join_ext(", ", _empty_array);
이와 같은 다양한 예제를 통해 string_join_ext
함수의 활용 가능성을 확인할 수 있습니다.