2012-03-19 18 views
1

私のコードの中でintをLuaのスタックにプッシュする必要があります。私はCのlua_pushnumberを知っていますが、LuaJで何が使われるでしょうか? LuaJがどの関数が特定のC関数を表しているかについて明確ではないので、私は関数を見つけることができません。intをLuaJでpushする

答えて

1

LuaJはスタック管理のようなものを抽象化しています。したがって、Lua関数を呼び出そうとしている場合、値をスタックにプッシュする必要はありません。 Lua関数をLuaFunction変数として取得し、invokeメソッドで呼び出すだけです。 Luaで登録されたJava関数から複数の値を返すには、Varagsオブジェクトを返さなければなりません。あなたはそれに複数の値を入れます。

+0

私は何か間違っている必要があります。スクリプト内から値にアクセスしようとすると、「インデックスを作成しようとしていますか?(ゼロ値)」というエラーが表示されます。これまでのように設定しました: スクリプトには、入力されたテキストを読み込むTwoArgFunctionクラスにバインドされた "yes = sendYesNo(" test ");"という行があります。いくつかのデータをクライアントに送信し、ユーザが情報をサーバに返送するのを待つためにコルーチンを設定します。情報が戻ってくると、それは別のクラスで処理されます。これがスタックプッシュが必要と思われる場所です。 ... – PuppyKevin

+0

...私が設定したTwoArgFunctionクラスは、まだエラーが発生しているにもかかわらず、LuaValue.ONEを返すだけです。私は間違って何をしていますか? – PuppyKevin

+0

@PuppyKevin:実際のコード(JavaとLuaコード)をポストに入れて、あなたがやっていることを理解できるか? –

関連する問題