데이터 구조 정리
이 문서는 주어진 데이터 구조에서 모든 값을 삭제하는 방법에 대해 설명합니다. 먼저, 정리할 데이터 구조의 유형을 선택하고 그 데이터 구조의 인덱스를 지정해야 합니다. 인덱스는 원래 데이터 구조를 생성할 때 반환되어 변수에 저장된 값입니다. 정리된 데이터 구조는 "비어있다"고 간주되며(즉: 항목이 없음), 그리드를 제외한 모든 경우에 해당합니다. 그리드의 경우, 이 작업은 모든 그리드 셀을 0으로 채워줍니다.
**중요**: 이 작업은 데이터 구조로 할당된 메모리를 해제하지 않으며, 단지 정보를 지우는 역할만 합니다. 메모리를 해제하려면 `Free Data Structure` 작업을 사용해야 합니다.
## 작업 구문
```gml
ClearDataStructure(type, index);
인수 설명
| 인수 | 설명 |
|---|---|
| Structure | 정리할 데이터 구조의 유형 (리스트, 맵, 그리드, 스택) |
| Variable | 정리할 데이터 구조의 인덱스를 포함하는 변수 |
예제
아래의 코드 블록은 전역 변수로 참조되는 데이터 구조가 비어 있지 않은지 확인하고, 비어 있지 않다면 데이터 구조를 정리합니다.
if (!is_data_structure_empty(global.myDataStructure)) {
ClearDataStructure(ds_type_list, global.myDataStructure);
}
데이터 구조 관련 작업
1. 리스트 정리 하기
var myList = ds_list_create(); // 리스트 생성
ds_list_add(myList, "항목 1"); // 항목 추가
ds_list_add(myList, "항목 2"); // 항목 추가
// 리스트 정리
ClearDataStructure(ds_type_list, myList);
2. 맵 정리 하기
var myMap = ds_map_create(); // 맵 생성
ds_map_add(myMap, "키1", "값1"); // 요소 추가
ds_map_add(myMap, "키2", "값2"); // 요소 추가
// 맵 정리
ClearDataStructure(ds_type_map, myMap);
3. 그리드 정리 하기
var myGrid = ds_grid_create(5, 5); // 그리드 생성
ds_grid_set(myGrid, 0, 0, 10); // 초기값 설정
ds_grid_set(myGrid, 1, 1, 20); // 초기값 설정
// 그리드 정리
ClearDataStructure(ds_type_grid, myGrid);
4. 스택 정리 하기
var myStack = ds_stack_create(); // 스택 생성
ds_stack_push(myStack, "항목 A"); // 항목 추가
ds_stack_push(myStack, "항목 B"); // 항목 추가
// 스택 정리
ClearDataStructure(ds_type_stack, myStack);
다음 단계
© Copyright YoYo Games Ltd. 2023 모든 권리 보유. ```