3

CにGetParameterというメソッドがあります。Luaから使用したいと思います。このメソッドは、いくつかの値を再びLuaに返します。

ImがCでテーブルを作成する方法は、最も一般的な方法です。

lua_newtable(L);
for (int i = 0; i < parameters; i++)
{
    lua_pushnumber(L,i);
    lua_pushstring(L,myParameter);
    lua_settable(L,-3);
}

私が見たすべての例では、この後、luasetGlobalを使用して結果テーブルを設定する必要があります。

 //set name for the result
 lua_setglobal(ptLuaState, "resultTable");

このメソッドを使用すると、次のようにluaの結果テーブルにアクセスできます。

GetParameter("V111","V111Parameter")
printTable(resultTable);

これをすべて行うことはうまくいきますが、setglobalを使用せずにこれを行う別の方法がありますか?私は次のようなことをしようとしました:

local mytable=GetParameter("V111","V111Parameter");

しかし、動作しません。グローバル変数を使用する方が良いですか?setglobalを作成せずに結果テーブルを取得するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

5

setglobalを呼び出さず、C関数から1を返します。これは、luaに関数からの戻り値が1つあることを示しており、最後の例が機能します。

于 2012-04-12T09:25:18.650 に答える