variable_get_hash 함수 설명
variable_get_hash
함수는 주어진 문자열에 대한 해시 값을 반환합니다. 이 해시 값은 struct_get_from_hash
및 struct_set_from_hash
함수와 함께 사용할 수 있습니다.
문법
variable_get_hash(name)
인수
인수 이름 | 타입 | 설명 |
---|---|---|
name | String | 해시 값을 가져올 변수의 이름입니다. |
반환 값
- Real: 해시 값
예제
var _the_struct = {a: 77, b: 88, c: 99};
var _varname = choose("a", "b", "c");
var _hash = variable_get_hash(_varname);
var _value = struct_get_from_hash(_the_struct, _hash);
위의 코드는 세 개의 멤버 변수를 가진 임시 구조체 _the_struct
를 생성합니다: a
, b
, c
. 그런 다음 choose
함수를 호출하여 이 변수 이름 중 하나를 무작위로 선택하고, 반환된 이름을 사용하여 variable_get_hash
를 호출하여 해당 변수 이름의 해시를 가져옵니다. 이 해시는 임시 변수 _hash
에 저장되고, 이후 struct_get_from_hash
를 사용하여 해당 이름에 해당하는 구조체 멤버의 값을 검색하는 데 사용됩니다. 반환된 값은 또 다른 임시 변수 _value
에 할당됩니다.
활용 예제
예제 1: 해시 값을 사용하여 구조체의 값 설정
var _the_struct = {x: 10, y: 20, z: 30};
var _varname = "y";
var _hash = variable_get_hash(_varname);
struct_set_from_hash(_the_struct, _hash, 50);
예제 2: 해시 값을 사용하여 동적으로 변수 값 가져오기
var _the_struct = {name: "Alice", age: 25, city: "Seoul"};
var _varname = choose("name", "age", "city");
var _hash = variable_get_hash(_varname);
var _value = struct_get_from_hash(_the_struct, _hash);
예제 3: 여러 변수의 해시 값을 비교
var _the_struct = {score1: 100, score2: 200, score3: 300};
var _varname1 = "score1";
var _varname2 = "score2";
var _hash1 = variable_get_hash(_varname1);
var _hash2 = variable_get_hash(_varname2);
var _value1 = struct_get_from_hash(_the_struct, _hash1);
var _value2 = struct_get_from_hash(_the_struct, _hash2);
if (_value1 > _value2) {
// score1이 score2보다 큽니다.
}
이와 같은 방식으로 variable_get_hash
함수를 활용하여 다양한 구조체의 값에 접근하고 조작할 수 있습니다.