ds_list_find_value 함수 설명
ds_list_find_value
함수는 주어진 리스트의 특정 위치에 있는 값을 확인하고 반환하는 기능을 제공합니다. 이 함수는 리스트의 크기를 초과하는 위치를 입력할 경우 undefined
또는 0
을 반환할 수 있습니다. 이는 리스트를 생성할 때 내부적으로 처음 몇 개의 항목이 0
으로 설정되어 성능 문제를 최소화하기 때문입니다. 새로 생성된 리스트에 대해 ds_list_size()
함수는 여전히 0
을 반환합니다. 리스트가 "진정으로" 비어 있는 상태를 보장하려면 리스트를 생성한 후 ds_list_clear()
를 호출해야 합니다. 이렇게 하면 비어 있는 리스트 슬롯에 대한 반환 값이 undefined
가 되어, is_undefined()
함수를 사용하여 일관되게 확인할 수 있습니다.
문법
ds_list_find_value(id, pos);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
id | DS List ID | 사용할 리스트의 핸들 |
pos | Real | 확인할 위치, 0은 리스트의 시작을 의미하며, 마지막 위치는 ds_list_size(id) - 1 입니다. |
반환 값
- 변수 또는
undefined
예제
val = ds_list_find_value(list, ds_list_size(list) - 1);
위 코드는 변수 "list"에 인덱스된 리스트의 마지막 위치를 확인하고, 반환된 값을 변수 "val"에 저장합니다.
활용 예제
- 리스트의 첫 번째 값 확인하기
first_value = ds_list_find_value(my_list, 0);
- 리스트의 크기 확인 후 마지막 값 가져오기
if (ds_list_size(my_list) > 0) {
last_value = ds_list_find_value(my_list, ds_list_size(my_list) - 1);
} else {
last_value = undefined;
}
- 리스트가 비어 있는지 확인하기
if (is_undefined(ds_list_find_value(my_list, 0))) {
show_message("리스트가 비어 있습니다.");
}
- 리스트의 모든 값 출력하기
for (var i = 0; i < ds_list_size(my_list); i++) {
var value = ds_list_find_value(my_list, i);
show_message("인덱스 " + string(i) + ": " + string(value));
}
- 리스트의 특정 위치 값 변경하기
if (!is_undefined(ds_list_find_value(my_list, 2))) {
ds_list_replace(my_list, 2, new_value);
}
이와 같은 활용 예제를 통해 ds_list_find_value
함수의 다양한 사용법을 이해하고 적용할 수 있습니다.