DS Priority Write 함수 설명
ds_priority_write
함수는 DS 우선순위 큐의 정보를 문자열로 반환합니다. 이 문자열은 다른 데이터 구조에 저장하거나 전송하는 데 사용할 수 있습니다.
문법
ds_priority_write(id);
인수
인수 | 유형 | 설명 |
---|---|---|
id | DS Priority ID | 확인할 데이터 구조의 핸들 |
반환값
- String: DS 우선순위 큐의 정보를 담고 있는 문자열
예제
var str;
ini_open("save.ini");
str = ds_priority_write(p_queue);
ini_write_string("P_Queues", "0", str);
ds_priority_clear(p_queue);
ini_close();
위의 코드는 ini 파일을 열고, 변수 p_queue
에 인덱스된 DS 우선순위 큐의 정보를 포함하는 문자열을 작성합니다. 이후 우선순위 큐는 비워지고 ini 파일이 닫힙니다.
활용 예제
예제 1: DS 우선순위 큐 저장하기
var queue_id = ds_priority_create();
ds_priority_add(queue_id, "Task 1", 1);
ds_priority_add(queue_id, "Task 2", 2);
var queue_string = ds_priority_write(queue_id);
ini_open("tasks.ini");
ini_write_string("Tasks", "0", queue_string);
ini_close();
ds_priority_clear(queue_id);
예제 2: DS 우선순위 큐 복원하기
var queue_id = ds_priority_create();
ini_open("tasks.ini");
var queue_string = ini_read_string("Tasks", "0", "");
ds_priority_read(queue_id, queue_string);
ini_close();
예제 3: 여러 DS 우선순위 큐 저장하기
var queue1 = ds_priority_create();
var queue2 = ds_priority_create();
ds_priority_add(queue1, "Task A", 1);
ds_priority_add(queue2, "Task B", 2);
ini_open("multiple_tasks.ini");
ini_write_string("Queue1", "0", ds_priority_write(queue1));
ini_write_string("Queue2", "0", ds_priority_write(queue2));
ini_close();
ds_priority_clear(queue1);
ds_priority_clear(queue2);
예제 4: DS 우선순위 큐에서 데이터 읽기
var queue_id = ds_priority_create();
ini_open("multiple_tasks.ini");
var queue1_string = ini_read_string("Queue1", "0", "");
var queue2_string = ini_read_string("Queue2", "0", "");
ds_priority_read(queue_id, queue1_string);
ds_priority_read(queue_id, queue2_string);
ini_close();
이 예제들은 ds_priority_write
함수의 다양한 활용 방법을 보여줍니다.