問題タブ [luaj]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - LuaJ 呼び出しオブジェクトで関数を実行する方法 (LuaJ が新しいオブジェクトを作成する方法は回避できますか。)
luaj web サイトから簡単な例を作成しました。LuaJ現在 使用されている現在のオブジェクトで関数を実行しようとしています。しかし、luaJ は新しいオブジェクトを作成しています。
新しいオブジェクトを作成するのではなく、現在のオブジェクトで関数を実行するにはどうすればよいですか。
次のコードを検討しています...
changeInt クラスは単純な 1 つの変数です...
luaScript はシンプルです。
それを回避する方法はありますか..
java - require() の代わりに set() を使用した LuaJ ハイパーボリック ライブラリの例
ここにリストされている例を使用しています:
http://www.luaj.org/luaj/3.0/README.html#5
正常に動作しますが、Lua スクリプト内で使用する代わりに:
Javaコードでこれまたは同様のものを使用したいと思います
ほとんどの場合、初期化時に hyperbolic (new hyperbolic(2.4, 1.67) など) に初期引数を渡すため、Lua スクリプトはシンプルで「子供向け」です。
アイデアや提案はありますか?おそらく間違ったものを探しているため、Googleは役に立ちません..
java - Luaj 解析テーブルの内容
プロジェクトで luaj の使用を開始したばかりで、lua テーブル内の文字列コンテンツを取得したいと考えています。例えば:
非常に単純な字幕のコンテンツを取得したいのですが、その方法がわかりません。私のコードでは、次の例のようなコードを書きました。
しかし、 get() は get 関数にのみ適用できると私に言い続けました。subTitle のコンテンツを取得するにはどうすればよいですか? 助けてくれてありがとう。
java - lua エラーの解決方法: 「インデックスを作成しようとしましたか? (nil 値)」
この種のエラーについては多くの投稿があり、ほとんどの人はテーブルと配列のインデックスの問題に関連していると言っています。しかし、私はテーブルをまったく使用していません。作成したライブラリ関数を呼び出そうとしているだけで、このエラーが発生します。以下は、Java から呼び出される lua スクリプトです。
これにより、例外をトラップするときに次のエラーが発生します。
"function event_touch ( ) pb.open_form ('view_monster'); print ('I run the lua script');end:1 インデックスの試行 ? (nil 値)"
run_script() 関数は、次のようにスクリプトを呼び出します (私は luaj を使用しています)。
ライブラリ メソッドは次のようになり、Java から呼び出されたときに同じコードが機能します。
基本的に、lua パラメーターを文字列に変換し、新しい from を作成して、パラメーターに文字列を渡します。
ライブラリ関数の宣言は次のようになります。
これは、システム全体で見ることができる唯一の「テーブル」である可能性があります。これは通常、適切なクラスを適切な関数名にリンクするために使用されます。
誰にもアイデアがありますか?
java - LuaJ と Pure Java のパフォーマンス比較
Lua を Java アプリケーションに統合する予定です。LuaJ と純粋な Java でスクリプトを実装する場合のパフォーマンスの比較について教えてください。より優れたパフォーマンスを持つ他の選択肢はありますか?
java - LUAJ 強制 Java オブジェクトが LuaValue 引数を受け入れない
Java コードが特に LuaValue を要求するときに、LuaJ が引数として LuaValue を受け入れないという問題に遭遇しました。
理想的には、これにより、Lua のコードが次のように単純に読み取れるようになります...
悲しいことに、これはシンプルで、ユーザーデータを期待しているがテーブルを取得したというエラーを出します。
「this」の値はどちらの場合も同じ LuaTable ですが、メソッド registerEvent が CoerceJavaToLua.coerce(...) を介して追加されているため、実際に LuaVale が必要であることに気付くのではなく、Java オブジェクトが必要であると認識しています。
だから私の質問はこれです。Java と Lua の両方から同じ関数を使用できるようにする、これを回避するより良い方法はありますか? そして、ここまで読んでくれてありがとう:)
java - Java の可視性: 構築後の最終的な非スレッドセーフな静的コレクションの変更
luaj で次のコード スニペットを見つけましたMap
が、同期が行われていないため、構築後に行われた変更が他のスレッドに表示されない可能性があるのではないかと疑い始めました。
が final と宣言されているため、構築後に初期化された値が他のスレッドから見えることはわかっていMap
ますが、その後に発生する変更についてはどうでしょうか。
このクラスはスレッドセーフではないため、マルチスレッド環境で強制を呼び出すと、で無限ループが発生する可能性があることに気付く人もいるかもしれませんHashMap
が、私の質問はそれについてではありません。
java - LuaJ の複数の戻り値
LuaJ の Java メソッドから複数の値を返す方法を見つけようとしています。つまり、Java から複数の値を返し、Lua コード内で取得します。
もう一度...私が意味するのは:
そのため、Lua コードから次のことができます。
幅と高さの両方の取得に成功しました。
よろしくお願いします、
java - LuaJ - CoerceJavaToLua は Java オブジェクトで何をしますか
もしやったら
それは何を返しますか? また、lua で値にアクセスするにはどうすればよいですか? 戻り値をそのまま渡しますか: