問題タブ [luainterface]

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.

0 投票する
1 に答える
388 参照

c# - GetFunctionはnullluainterfaceを返します

このスクリプトをC#プログラムにロードしています

しかし、私がそれを呼び出そうとすると

funcがnullであるという問題が発生します。

何が間違っていますか?

0 投票する
2 に答える
1603 参照

c# - LuaInterface - 任意のパスからアセンブリをロードするにはどうすればよいですか?

LuaInterface を使用して .net アセンブリを読み込もうとしています。アセンブリを実行可能ファイル (および LuaInterface.dll と LuaNet.dll) と同じフォルダーに配置すると、すべてがうまく機能します。アセンブリを別のフォルダーに移動したいのですが、それをしようとすると「ユーザー コードで .NET 例外が発生しました」というメッセージが表示されます。私が試してみました:

これらはすべて .NET 例外エラーを返します。LuaInterface が使用するパスを定義する方法はありますか?

0 投票する
0 に答える
436 参照

c# - LuaInterface を介した C# からの Lua 関数へのアクセス

C# から Lua 関数にアクセスする LuaInterface に問題があります。

このように定義された LuaFunction がある場合

これは、次のような通常の呼び出しによる C# からのアクセスである可能性があります

パラメータなし。しかし、Lua での関数の定義を見ると、「:」を使用して関数を定義しています。このように書き直すことができますが、これは同じです。

これまでのところ、すべて問題ありません。しかし今、OnEvent を別の関数に置き換えます。

そして今、私は問題を抱えています。この場合、(自分用の) パラメータを指定して関数を呼び出す必要がありました。これを行わないと、エラーが発生します。

この問題は、次の 2 つの方法で解決できます。

  1. LuaInterface は、毎回 ":" を使用して自分自身のパラメーターを使用してメソッドを呼び出す必要があるとします。
  2. この関数が必要とするパラメーターの数を LuaInterface から取得できます。

しかし、このことの1つをどのように行うのですか?

ありがとうございました。

0 投票する
3 に答える
2822 参照

c# - LuaInterface-LuaTable値を返す関数

LuaTable値を返すC#関数を作成する方法を誰かが考えています{1 = "example1", 2 = 234, "foo" = "Foo Example"}か(たとえば、私がテストしたすべてのタイプはLuaUserData、ペア/ペアリングできない値を返します。よろしくお願いします。

--update-- luaTableに最も近いタイプは、私の意見ではListDictionaryです。

ただし、LuaではLuaUserDataとして認識されており、ペアリング/ペアリングすることはできません

0 投票する
1 に答える
298 参照

c# - LuaInterface:シリアル化のためにLuaFunctionをダンプする方法

Luaの状態を保存/シリアル化しようとしています。_Gで見つけたすべてのグローバルを保存/シリアル化する必要があることは知っていますが、見つけたLuaFunctionsを保存/シリアル化する方法がわかりませんでした。を使用しようとしましstring.dumpたが、Lua署名付きの文字列(LuaQでは5バイト)しか配信されません。

string.dump私が呼び出すと、関数は動作します

文字列の長さとして5ではなく409を取得します。したがって、ダンプは正しく機能します。LuaInterfaceで問題になる可能性があります。

そこに誰かがいますか、LuaInterfaceを介してLua状態のシリアル化をどのように実現しましたか?

よろしく、ダーク

PS:VS 2010 C#ExpressでLuaInterface2.0.4とともにKopiLua5.1.4を使用しています。

0 投票する
1 に答える
7251 参照

c# - LUA - '・の近くに予期しないシンボル

Lua実行時にスクリプトをプロジェクトにロードしようとしています。ただし、そうしようとすると、ファイルのロード時に次のエラーが表示されます。

ファイル自体は十分に単純ですが、この原因はわかりません:

C#これが何か関係がある場合に備えて、これを で実行するために使用しているコードは次のとおりです。

ファイル自体の設定を変更しようとしましたが、どれも役に立たないようです。このファイルの設定は次のとおりです。

0 投票する
0 に答える
607 参照

c# - LuaInterface / C#-.NETオブジェクトで作成されたクロージャがクリーンアップされることはありません

C#アプリケーションで最新バージョンのLuaInterface(http://code.google.com/p/luainterface/ )を使用しています。LuaクラスがObjectTranslatorの「objects」および「objectsBackMap」ディクショナリの内部参照をクリーンアップできず、メモリ使用量が常に増加するという問題が発生しています。

次のコードは問題を示しています。

この問題は、無名関数(local f = ...)が外部スコープからの.NETオブジェクトを含むクロージャを作成するときに発生します。Luaインタープリターが存続している限り、私が作成したDotNetObjectクラスの50個のインスタンスは、LuaでGCを強制した場合でも、ガベージコレクションされることはありません。

MyClass.StoreFunctionでLuaFunction(function.Dispose())オブジェクトを手動で破棄すると問題が解決しますが、実際のアプリケーションでは、関数がいつ実行されるか、または実行されるかどうかがわからないため、これは望ましくありません。LuaFunctionを破棄するように強制すると、アプリケーションのアーキテクチャ全体が変更され、基本的に、LuaFunctionを含むオブジェクトとそれを含むオブジェクトをチェーン全体で破棄することにより、手動でメモリ管理を行うようになります。

それで、これはLuaInterfaceのバグですか、それともライブラリを誤って使用していますか?どんなアドバイスも大歓迎です、ありがとう!

0 投票する
2 に答える
1880 参照

c# - LuaInterface C#: dostring と dofile。何度も呼び出されるスクリプトをメモリにロードする価値はありますか?

dostring()ではなく、LuaInterface の機能を介して実行するためにメモリに繰り返し呼び出される lua スクリプトをロードすることで、パフォーマンスの向上を合理的に期待できるかどうか誰か教えてもらえますdofile()か?

反復ごとにファイルシステムへのアクセスを減らすことで、これがより良いパフォーマンスを発揮すると仮定するのは正しいですか?

Lua VM内でスクリプトをキャッシュする方法はありますか?

0 投票する
1 に答える
937 参照

c# - LuaInterface:多次元luaテーブルにアクセスするには?

LuaInterface は初めてで、非常に簡単な質問があります: c# から多次元 lua テーブルのデータにアクセスするにはどうすればよいですか? 文字列と整数値を読み取ることはできましたが、テーブルではうまくいきませんでした。私の目標は、(仮想) GridView に多次元 lua テーブルの内容を表示することです。

申し訳ありませんが、これは非常に単純な質問だと思いますが、適切なドキュメントもコンパイル可能なサンプル プロジェクトも見つけることができませんでした。ここで質問する前にまず RTFM を使用する必要があると思われる場合は、ドキュメントを参照することもできますが、何も見つかりませんでした。

ありがとう、マイケル

0 投票する
0 に答える
116 参照

c# - LuaInterface & .NET- LuaAPI の失敗: L->top < L->ci->top

.NET から LuaInterface Lua VM インスタンスでグローバルを設定しようとすると、以下のエラーが発生します。

以下のようにグローバルを割り当てています。

エラーに関する情報をいただければ幸いです。ありがとう