ds_map_is_list 함수 설명
ds_map_is_list
함수는 주어진 맵 키에 DS 리스트가 저장되어 있는지 확인하는 기능을 제공합니다. 만약 주어진 키가 DS 리스트 ID를 포함하고 있다면, 이 함수는 true
를 반환하고, 그렇지 않으면 false
를 반환합니다. 이 함수는 오직 ds_map_add_list
함수를 사용하여 추가된 리스트만 감지할 수 있습니다.
문법
ds_map_is_list(id, key)
인수 설명
인수 | 타입 | 설명 |
---|---|---|
id | DS Map | 사용할 맵의 핸들 |
key | String | 확인할 키 |
반환값
- Boolean: 키가 DS 리스트를 포함하고 있으면
true
, 아니면false
예제
다음 코드는 DS 맵을 반복하면서 그 안의 키가 DS 리스트인지 확인합니다. 만약 DS 리스트라면 해당 리스트를 파괴하고, 반복이 끝난 후 DS 맵도 파괴합니다.
var size = ds_map_size(inventory);
var key = ds_map_find_first(inventory);
for (var i = 0; i < size; i++) {
if (ds_map_is_list(inventory, key)) {
ds_list_destroy(inventory[? key]);
}
key = ds_map_find_next(inventory);
}
ds_map_destroy(inventory);
활용 예제
예제 1: DS 리스트 확인 후 처리
if (ds_map_is_list(my_map, "my_list_key")) {
// 리스트가 존재할 경우 수행할 작업
}
예제 2: 여러 DS 리스트 삭제
var keys = ds_map_keys(my_map);
for (var i = 0; i < array_length(keys); i++) {
if (ds_map_is_list(my_map, keys[i])) {
ds_list_destroy(my_map[? keys[i]]);
}
}
예제 3: DS 리스트가 있는지 확인하고 로그 출력
if (ds_map_is_list(my_map, "another_list_key")) {
show_debug_message("리스트가 존재합니다.");
} else {
show_debug_message("리스트가 존재하지 않습니다.");
}
예제 4: DS 리스트가 있는 모든 키 출력
var size = ds_map_size(my_map);
var key = ds_map_find_first(my_map);
for (var i = 0; i < size; i++) {
if (ds_map_is_list(my_map, key)) {
show_debug_message("리스트 키: " + key);
}
key = ds_map_find_next(my_map);
}
이 문서에서는 ds_map_is_list
함수의 사용법과 다양한 활용 예제를 살펴보았습니다.