그래, 이것은 다른 것보다 더 위생 검사입니다.변수 값이 아닌 고유 한 동적 변수 이름을 사용하십시오.
우리는 lua_State라는 구조체를 가지고 있습니다. 이제는 불확실한 양의 고유 한 lua_State를 생성해야합니다. 동일한 변수 이름을 두 번 사용하지 않도록하려면 새 상태를 만들 때마다 고유 한 변수를 얻는 방법이 필요합니다.
그러나 새로운 상태를 만들 수있는 유일한 방법 (? 내 생각)가, 다음과 같이 즉 :
lua_State *S = lewL_newstate();
가 지금은 동적으로 "S"그로 변경하는 방법이 필요 것입니다 .. 도대체 무엇이.
예 : 4 개의 lua 파일이 있고 각각의 lua_State에로드하려면 lua_State * A = lewL_newstate(); 처음에는 lua_State * B = lewL_newstate(); 두 번째 등등. 루아 파일의 수는 다양하므로 고정 된 수의 상태를 만들면 아마 잘되지 않을 것입니다.
어떻게해야합니까?
설명 :
.H
struct lua_State
통화 당
createNewState(Lua_State* something){
lua_State* something = luaL_newstate();
}
은 내가
std::map<int, lua_State*> luaMap;
를 만드는 방법에 대해 생각하지만 난 여전히 사실의 문제가있는 것 생성 g (더 나은 단어가 부족한 경우) 모든 int-index에 대한 변수 이름.
그래서 커피를 너무 많이 마시고 내가하는 일에 대한 눈에 띄게 단순한 해결책이 있습니까? 아니면 미친 듯이 불 때까지 코딩을 중단해야합니까?
미리 감사드립니다.
에게 제공 할 수있다? –
* 왜 * 고유 한 변수 이름이 필요합니까? 벡터가 충분하지 않습니까? – schot
문제는 상태를 저장하는 것이 아니며 문제는로드 할 lua 파일의 수에 따라 상태 변수 이름을 구성합니다. 그래서 2 개의 파일 =이 새로운 상태를 호출하기 위해 2 개의 고유 한 변수 이름을 얻으려면 어떻게해야합니까? 그것은 내가 필요한 변수 이름 (상태)이 얼마나 많은지 알지 못한다는 점입니다. 그래서 나는 그것을 미리 만들 수 없습니다. – Karrok