ds_list_find_index 함수 설명
ds_list_find_index
함수는 주어진 리스트에서 특정 값을 찾아 그 값의 위치를 반환하는 기능을 제공합니다. 리스트에 동일한 값이 여러 개 있을 경우, 그 중 하나의 위치가 반환될 수 있으며, 값이 존재하지 않을 경우 -1이 반환됩니다.
문법
ds_list_find_index(id, val);
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
id | DS List ID | 사용할 리스트의 핸들입니다. |
val | Variable | 찾고자 하는 값입니다. |
반환값
- 실수형 값: 리스트에서 찾은 값의 위치 또는 값이 없을 경우 -1.
예제
pos = ds_list_find_index(list, "Player1");
위 코드는 변수 "list"에 인덱스된 리스트에서 "Player1" 값을 찾아 그 위치를 변수 "pos"에 저장합니다.
활용 예제
- 리스트에서 특정 값의 위치 찾기
gml player_index = ds_list_find_index(player_list, "Player2");
- 값이 존재하는지 확인하기
gml if (ds_list_find_index(item_list, "Sword") != -1) { show_message("검이 리스트에 존재합니다."); } else { show_message("검이 리스트에 존재하지 않습니다."); }
- 리스트에서 여러 값을 검색하기
gml for (var i = 0; i < ds_list_size(enemy_list); i++) { var enemy_name = ds_list_find_value(enemy_list, i); var index = ds_list_find_index(attack_list, enemy_name); if (index != -1) { // 공격할 수 있는 적이 발견됨 } }
- 리스트에서 값이 없을 경우 처리하기
gml var index = ds_list_find_index(score_list, "Player3"); if (index == -1) { ds_list_add(score_list, "Player3"); ds_list_add(score_list, 0); // 초기 점수 추가 }
- 리스트의 모든 값 출력하기
gml for (var i = 0; i < ds_list_size(my_list); i++) { var value = ds_list_find_value(my_list, i); show_message("리스트의 값: " + string(value)); }