2011-01-27 14 views
5

Me encuentro necesitando un contenedor de tabla hash en un proyecto C que incluye Lua. Me pregunto si es posible usar la tabla hash en Lua como contenedor genérico. He observado ltable.h y todas las funciones requieren un estado Lua y parecen estar vinculadas al entorno Lua, así que supongo que esto no es práctico si los datos deben ser independientes de Lua.¿Es posible/práctico usar la tabla hash de Lua fuera de Lua?

Respuesta

5

Es posible y la manera más fácil es simplemente usar la API C oficial para Lua. No hay necesidad de profundizar en las entrañas de ltable.h.

0

Puede usar luabind o luabridge para especificar cómo se representará un hash de C++ (por ejemplo, el mapa de stl) en Lua; entonces podrás pasarlo al motor Lua. Tenga en cuenta que cualquier uso de Lua requerirá pasar el estado de Lua, no hay escapatoria aquí.

+0

La fuente en cuestión es pura c no C++ por lo que no STL de lo contrario solo usaría –

+0

Ok, use la API lua entonces. Lo siento. –