Comment puis-je créer une Table Lua en C++, et de le transmettre à une fonction Lua?
En C++, j'ai un map<string, string>
, contenant un nombre inconnu d'entrées. Comment puis-je transmettre à une fonction Lua, de sorte que la fonction Lua peut utiliser les données comme un tableau?
OriginalL'auteur Rocketmagnet | 2009-01-17
Vous devez vous connecter pour publier un commentaire.
si vous voulez une vraie table lua:
avec les bons types pour votre carte substitué dans..
OriginalL'auteur sean riley
Quelques options...
Copie de la carte dans une nouvelle table Lua, et de passer à la table Lua.
Créer un proxy table qui dirige lit et écrit par une métatable de
__index
et__newindex
metamethodsL'inconvénient de (1) est l'ensemble de la copie, bien sûr.
L'inconvénient de (2) est que
pairs()
ne fonctionne pas sur le proxy tableUne discussion de correctifs pour Lua généralisée
pairs
est dans le wiki et cette liste de discussion thread. Généraliséepairs
est prévu pour Lua 5.2j'ai l'habitude de faire l'option 2, à moins que la table est petite et il y a beaucoup de demandes pour un surtout de table en lecture seule.
OriginalL'auteur Doug Currie