ds_list_write 함수 설명
ds_list_write
함수는 DS 리스트의 내용을 문자열로 반환합니다. 이 문자열은 다른 데이터 구조에 저장하거나 전송할 수 있습니다. 반환된 문자열은 사람이 읽을 수 있는 형식이 아니라 데이터 구조의 내용을 덤프한 것입니다.
문법
ds_list_write(id);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | DS List ID | 작성할 데이터 구조의 핸들 |
반환 값
- 문자열: DS 리스트의 내용을 담고 있는 문자열
예제
ini_open("save.ini");
var str = ds_list_write(list);
ini_write_string("Lists", "0", str);
ds_list_clear(list);
ini_close();
위의 코드는 ini 파일을 열고, 변수 "list"에 인덱스된 DS 리스트의 정보를 포함하는 문자열을 작성합니다. 그런 다음 리스트를 비우고 ini 파일을 닫습니다.
활용 예제
예제 1: DS 리스트 저장 및 불러오기
// DS 리스트 생성
var myList = ds_list_create();
ds_list_add(myList, "Item 1");
ds_list_add(myList, "Item 2");
// 리스트를 문자열로 변환하여 저장
var str = ds_list_write(myList);
ini_open("save.ini");
ini_write_string("MyList", "0", str);
ini_close();
// 리스트 비우기
ds_list_clear(myList);
예제 2: 저장된 DS 리스트 불러오기
// DS 리스트 생성
var myList = ds_list_create();
ini_open("save.ini");
var str = ini_read_string("MyList", "0", "");
ds_list_read(myList, str);
ini_close();
// 리스트 내용 확인
for (var i = 0; i < ds_list_size(myList); i++) {
show_message(ds_list_find_value(myList, i));
}
예제 3: 여러 DS 리스트 저장하기
// 여러 DS 리스트 생성
var list1 = ds_list_create();
var list2 = ds_list_create();
ds_list_add(list1, "List 1 Item");
ds_list_add(list2, "List 2 Item");
// 리스트를 문자열로 변환하여 저장
ini_open("save.ini");
ini_write_string("List1", "0", ds_list_write(list1));
ini_write_string("List2", "0", ds_list_write(list2));
ini_close();
// 리스트 비우기
ds_list_clear(list1);
ds_list_clear(list2);
이와 같은 방식으로 ds_list_write
함수를 활용하여 DS 리스트의 내용을 저장하고 불러오는 다양한 방법을 구현할 수 있습니다.