Ok, c'est plus un contrôle de cohérence que toute autre chose.Utilisation de noms de variables dynamiques uniques (valeurs non variables!)
Supposons que nous ayons une structure appelée lua_State, maintenant je dois créer une quantité incertaine de lua_State. Pour m'assurer que je n'utilise pas le même nom de variable deux fois, j'aurais besoin d'un moyen pour obtenir une variable unique chaque fois que je fais un nouvel état.
Cependant, il y a une seule façon (je pense?) Pour créer un nouvel état, et qui est la suivante:
lua_State *S = lewL_newstate();
Maintenant, je besoin d'un moyen de changer dynamiquement « S » à .. peu importe. Par exemple: Si j'avais 4 fichiers lua, et que je voulais charger chacun dans son propre lua_State, j'appellerais: lua_State * A = lewL_newstate(); pour le premier, lua_State * B = lewL_newstate(); pour la seconde, et ainsi de suite. Gardez à l'esprit le nombre de fichiers Lua varie donc la création d'un nombre fixe d'états ne sera probablement pas bien.
Comment ferais-je cela?
clarification:
.h
struct lua_State
Cpp
createNewState(Lua_State* something){
lua_State* something = luaL_newstate();
}
Je pensais à la création d'un
std::map<int, lua_State*> luaMap;
mais j'aurais encore le problème de la réalité générateur g (faute de meilleurs mots) un nom de variable pour chaque int-index. Alors, ai-je bu trop de café et y at-il une solution évidente à ce que j'essaie de faire, ou devrais-je arrêter de coder jusqu'à ce que les coups de folie soient terminés?
Merci d'avance.
Y at-il quelque chose de mal à utiliser un tableau/vecteur (pointeurs) à 's lua_state'? –
* Pourquoi avez-vous besoin de noms de variables uniques? Est-ce qu'un vecteur n'est pas assez bon? – schot
Le problème n'est pas de stocker les états, le problème est de composer des noms de variables d'état en fonction du nombre de fichiers lua à charger. donc 2 fichiers = comment puis-je obtenir 2 noms de variables uniques pour appeler ces nouveaux états? C'est un peu le point que je ne sais pas combien de noms de variables (états) j'ai besoin. Donc je ne peux pas les créer à l'avance. – Karrok