ds_stack_top 함수 설명
ds_stack_top
함수는 스택의 가장 위에 있는 값을 읽어오는 기능을 제공합니다. 이 함수는 값을 제거하지 않기 때문에, 이후에도 ds_stack_top
또는 ds_stack_pop
함수를 통해 해당 값을 계속 읽을 수 있습니다. 만약 스택이 비어 있다면, 이 함수는 undefined
를 반환합니다. 그렇지 않으면 스택에 저장된 실제 값이나 문자열 값을 반환합니다.
문법
ds_stack_top(id);
인수
인수 | 유형 | 설명 |
---|---|---|
id | DS Stack ID | 읽어올 데이터 구조의 핸들 |
반환값
- 스택에 저장된 데이터 유형의 값 또는
undefined
예제
num = ds_stack_top(control_stack);
위 코드는 control_stack
변수에 인덱스가 지정된 스택에서 값을 읽어와서, 반환된 값을 num
변수에 저장합니다.
활용 예제
- 스택의 최상위 값 확인하기
gml if (ds_stack_size(control_stack) > 0) { top_value = ds_stack_top(control_stack); show_message("최상위 값: " + string(top_value)); } else { show_message("스택이 비어 있습니다."); }
- 스택에서 값 읽고 처리하기
gml while (ds_stack_size(control_stack) > 0) { value = ds_stack_top(control_stack); // 값 처리 로직 ds_stack_pop(control_stack); // 값을 제거 }
- 스택의 상태 확인하기
gml if (ds_stack_size(control_stack) == 0) { show_message("스택이 비어 있습니다."); } else { top_value = ds_stack_top(control_stack); show_message("현재 스택의 최상위 값: " + string(top_value)); }
- 스택에 값 추가 후 최상위 값 확인하기
gml ds_stack_push(control_stack, "새로운 값"); top_value = ds_stack_top(control_stack); show_message("추가 후 최상위 값: " + string(top_value));
이와 같이 ds_stack_top
함수는 스택의 최상위 값을 읽어오는 데 유용하며, 다양한 상황에서 활용될 수 있습니다.