問題タブ [lua-api]
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.
c++ - プロジェクトに lua ソースを追加すると、リンカー エラーが発生します
lua ソースを DLL プロジェクトに追加しました (lua.c と luac.c を削除しました)。以下のコードを VS の DLL プロジェクトとして使用していますが、lua_createtable() リンカー エラーが発生します (lua_newtable() は lua_createtable() を呼び出すマクロです)。奇妙なのは、 lua_createtabel() が lapi.c で定義されており、.obj が生成されているため、リンカー エラーが発生する理由がよくわかりません。
lua - 複数の Lua VM が検出されました
Lua のサイトからダウンロードできる Lua52.exe バイナリを使用しています。私が作成した DLL で機能を拡張したいと考えています。そこで、VS DLL プロジェクトに Lua ソースを含めた DLL を作成しました。そのコードは以下です。Lua52.exe で実行する lua ファイルで次の操作を行うと、「複数の Lua VM が検出されました」というエラーが表示されます。したがって、Lua52.exe には lua52.dll が付属しているため、動的にリンクされていると想定し、起動時に lua52.dll をロードして lua VM を起動します。DLL がロードされると、渡された lua_State が lua52.exe からのものであると思われます。VMの話は何ですか?DLL 内の lua に対して動的にリンクする必要がありますか? どうにかして DLL が lua VM を作成しないようにすることはできますか? つまり、自分でやっているのではないので、lua ソースに何かがあるはずです。
c - 同じテーブル フィールドから C 関数を呼び出すときにテーブルを自動引数として取得する
Lua スクリプトの A0、A1、A2 など、いくつかのグローバル整数変数があります。それらはC側で宣言されています。それぞれに一意の数値が含まれています。
スクリプトでは、ユーザーは次のエイリアスを使用してデバイス ピンを操作します。
そして、これは対応する C 関数を呼び出します。C ライクすぎて、あまり便利ではないと思います。より良いのは、A0.hi()、A0.low()、A0.set(1) などのメソッドを呼び出すことです。
そのため、A0 などを C のテーブルとして宣言しようとしました (これは単なる構造体です)。
hiのようなファイルを作成し、lua_pushcfunction を使用して登録できます。しかし、A0.hi() を呼び出すと、C 側で別のフィールドを取得するために呼び出されたテーブルにアクセスできなくなります。そして、私がグーグルで調べたように、Cからselfのようなものを取得する方法はありません.それを達成する方法はありますか? A0.hi(A0)のように、テーブル自体を引数として渡したく
ありません。多くのエイリアスが存在する可能性があり、異なる名前を付けることができます。
それとも、同じ目標に対して異なるアプローチがあるのでしょうか?
c - C関数のパラメーターとしての文字列値のLuaテーブル
文字列をパラメーターとして持つ lua テーブルを受け取る C 関数を作成したいと考えています。この lua テーブルにはキーがなく、値だけが含まれています。これどうやってするの?私はそれを把握することはできません。グーグルで検索しても何も見つかりませんでした。
c++ - C++ Lua Lua テーブルから値を取得する
Lua テーブルから値を取得しようとしています。これは私が Program.cpp に書いたものです:
そして、私はこれを Script.lua に書きました:
問題は、これがコンソールに 0 しか書き込まないことです。lua ファイルが正しく読み込まれていることを確認しました。私は何を間違っていますか?
lua - luaでテーブルを読む方法
以下のような表があります。
そのテーブルを読み取って、いくつの値が読み取られたかを言いたいのですが、以下のコードで問題が発生するほど、PANIC の読み取り時に常に次のエラーが発生します: Lua API の呼び出しで保護されていないエラーが発生します
私はlua 5.2を使用していますが、ここでエラーが指摘されています
誰かがこの読書を手伝ってくれますか、私はルアが初めてです。
c - Lua C API を使用してテーブルのテーブルを反復処理する
Luaでテーブルのテーブルを繰り返し処理して出力しようとしています:
- 各テーブルのキー。
- 各テーブルの各エントリのキーと値のペア。
コードは次のとおりです。
そして、これは私が出力しようとしているテーブルの1つの例です:
関数は次の行でクラッシュします。
無効なインデックスが原因です。クラッシュを引き起こすスクリプトの行は次のとおりです。
私は Lua のスタックにあまり精通していないことを認めなければなりません。同様の回答を検索しようとしましたが、何も見つかりませんでした。私が間違っていることを知っている人はいますか?
ありがとう!
誰かが興味を持っている場合に備えて、作業バージョンを追加しました: