2016-06-16 22 views
5

ile Lua tablo oluşturmak için? Sadece tabloyu nasıl oluşturacağımı ve değerleri nasıl koyduğumu biliyorum, ancak tablonun adını nasıl ayarlayacağımı bilmiyorum. isimsiz tablo oluşturmak içinNasıl böyle C-API Lua tablo oluşturmak için adı C-API

Kodu:

lua_createtable(L, 0, 3); 

lua_pushnumber(L, 1); 
lua_setfield(L, -2, "a"); 

lua_pushnumber(L, 2); 
lua_setfield(L, -2, "b"); 

lua_pushnumber(L, 3); 
lua_setfield(L, -2, "c"); 
+1

için C kodu eşdeğer istiyorsanız

TableName = { a=1, b=2, c=3 } 

, bir değişken olması hakkında soruyorlar: C kodu bu Lua koduna tekabül TableName adı. Herhangi bir Lua değeri gibi bir tablonun bir adı yoktur. –

cevap

4

Tek ihtiyacınız Ancak, C kodu Lua koduna denk olmayan uca

lua_setglobal(L, "TableName"); 

bu çizgiyi eklemektir. Eğer

TableName = {"a", "b", "c"} 

netlik için uğruna kullanılması

lua_pushliteral(L, "a"); lua_rawseti(L, -2, 1); 
lua_pushliteral(L, "b"); lua_rawseti(L, -2, 2); 
lua_pushliteral(L, "c"); lua_rawseti(L, -2, 3); 
+0

Teşekkürler. Tablodaki tabloyu nasıl kurabilirim? Bunun gibi a = {["b"] = {["c"] = {["d"] = {["e"] = "İYİ"}}}}? baskı (a.b.c.d.e); – BORSHEVIK

+0

http://stackoverflow.com/questions/37854422/how-to-create-table-in-table-in-lua-5-1-using-c-api – BORSHEVIK