Mi trovo a dover utilizzare un contenitore tabella hash in un progetto C che include Lua. Mi chiedo se sia possibile utilizzare la tabella hash in Lua come contenitore generico. Ho guardato a ltable.h
e tutte le funzioni richiedono uno stato Lua e sembrano legate all'ambiente Lua, quindi suppongo che questo non sia pratico se i dati devono essere indipendenti da Lua.E 'possibile/pratico usare il tavolo hash di Lua fuori da Lua?
5
A
risposta
5
È possibile e il modo più semplice è solo utilizzare l'API C ufficiale per Lua. Non c'è bisogno di scavare nelle viscere di ltable.h.
0
È possibile utilizzare luabind o luabridge per specificare in che modo un hash C++ (ad esempio la mappa di stl) verrà rappresentato in Lua; allora sarai in grado di passarlo al motore Lua. Nota che qualsiasi utilizzo di Lua richiederà di passare lo stato di Lua, nessuna fuga qui.
L'origine in questione è pura c non C++, quindi non STL
Ok, utilizzare quindi l'API lua. Scusate. –