どのように私はCのAPIからの値を追加し、Luaのテーブルを作成することができますか?

StackOverflow https://stackoverflow.com/questions/4220748

  •  26-09-2019
  •  | 
  •  

質問

ここで私がこれまで持っているものだ...それは「モッズ」と呼ばれる世界的なテーブルを作成しますが、私は、テーブルにインデックスを追加するように見えることはできません...

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" )

テーブルに値42と、この挿入フィールド "answer_to_life ..." ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top