3

私はこの配列を持っています:

a = {{4,2,2,6}, {2,1,1,2}}

その配列からCプログラムへのインデックスを取得するにはどうすればよいですか?

例えば:

a[1] -- {4,2,2,6}
a[1][2] -- 2
4

2 に答える 2

6

メソッドを使用できますlua_gettable。ただし、いくつかの重要な注意事項があります。

  1. Lua 配列は、インデックス 0 ではなく 1 から始まります。
  2. 経由で lua スタックにインデックスをプッシュする必要がありますlua_pushinteger
  3. キーは、インデックス付きの要素に「置き換え」られます。
于 2014-08-14T02:35:05.263 に答える
3

これを試して:

lua_getglobal(L,"a")
lua_rawgeti(L,-1,1)
lua_rawgeti(L,-1,2)

この後、 の値がa[1][2]スタックの一番上になります。スタックにはaandも含まれa[1]ます。これは、完了したらポップすることができます (複数の値を取得する場合に備えて、それらはスタックに残されます)。

于 2014-08-14T02:39:13.340 に答える