2011-01-27 2 views
5

Je me trouve avoir besoin d'un conteneur de table de hachage dans un projet C qui comprend Lua. Je me demande s'il est possible d'utiliser la table de hachage dans Lua comme un conteneur générique. J'ai regardé ltable.h et toutes les fonctions nécessitent un état de Lua et semblent liées à l'environnement de Lua donc je devine que ce n'est pas pratique si les données doivent être indépendantes de Lua.Est-il possible/pratique d'utiliser la table de hachage de Lua en dehors de Lua?

Répondre

5

Il est possible et le plus simple est simplement d'utiliser l'API C officiel pour Lua. Pas besoin de creuser dans les entrailles de ltable.h.

0

Vous pouvez utiliser luabind ou luabridge pour spécifier comment un hachage C++ (disons la carte de stl) sera représenté dans Lua; alors vous pourrez le passer au moteur Lua. Notez que tout usage de Lua nécessitera de passer l'état de Lua, pas d'échappatoire ici.

+0

La source en question est pure c pas C++ donc pas de STL sinon j'utiliserais juste que –

+0

Ok, utilisez l'API lua alors. Pardon. –