これが私がこれまでに持っているものです...それは「mod」と呼ばれるグローバルテーブルを作成しますが、テーブルにインデックスを追加できないようです...
lua_newtable(L);
lua_setglobal(L,"mod");
マニュアルには次のように書かれています。
void lua_setfield (lua_State *L, int index, const char *k);
と同等のことを行います
t[k] = v
。ここt
で、は指定された有効なインデックスv
の値であり、はスタックの最上位の値です。この関数は、スタックから値をポップします。
つまり、より正確には、スタックに追加したいものをプッシュしてから、を呼び出しますlua_setfield
。例えば:
lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )
これにより、値を含むフィールド「answer_to_life...」が42
テーブルに挿入されます。