DS 맵에서 값 변경하기
ds_map_replace
함수는 주어진 키에 대한 값을 DS 맵 내에서 변경할 수 있는 기능을 제공합니다. 이 함수는 DS 맵의 인덱스와 변경할 키(문자열 또는 정수) 및 새로운 값을 입력받습니다. 만약 주어진 키가 존재하지 않으면 새로 생성되고, 존재한다면 현재 값을 새로운 값으로 대체합니다. 이 함수는 키가 존재하고 값이 변경되면 true
를 반환하고, 키가 존재하지 않아 새 키가 생성되면 false
를 반환합니다.
문법
ds_map_replace( id, key, val );
매개변수 설명
매개변수 | 타입 | 설명 |
---|---|---|
id | DS Map | 변경할 맵의 핸들 |
key | String | 새로운 값으로 대체할 키 |
val | Any | 주어진 값을 대체할 새로운 값 |
반환값
- Boolean: 키가 존재하고 값이 변경되면
true
, 키가 존재하지 않아 새 키가 생성되면false
예제
ds_map_replace(inventory, "torso", 55);
위 코드는 DS 맵에서 "torso"라는 키를 찾아 현재 값을 55로 변경합니다. 만약 "torso" 키가 존재하지 않으면 새로 생성됩니다.
활용 예제
예제 1: 아이템 추가
ds_map_replace(inventory, "sword", 1);
이 코드는 "sword"라는 키를 추가하거나 기존 값을 1로 변경합니다.
예제 2: 아이템 업데이트
ds_map_replace(inventory, "shield", 2);
"shield" 키가 존재하면 그 값을 2로 업데이트합니다.
예제 3: 새로운 키 생성
ds_map_replace(inventory, "potion", 5);
"potion" 키가 없으면 새로 생성하고, 값은 5로 설정합니다.
예제 4: 여러 키와 값 변경
ds_map_replace(inventory, "helmet", 3);
ds_map_replace(inventory, "boots", 4);
"helmet"과 "boots" 키를 각각 3과 4로 변경하거나 새로 생성합니다.
예제 5: 키 존재 여부 확인
if (ds_map_replace(inventory, "armor", 10)) {
show_message("Armor updated!");
} else {
show_message("Armor created!");
}
"armor" 키가 존재하면 업데이트 메시지를, 존재하지 않으면 생성 메시지를 표시합니다.