問題タブ [lua-5.2]

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 投票する
2 に答える
818 参照

lua - lua で新しい C ライブラリを作成する

lua 5.2.3 で新しい C ライブラリを作成して使用する方法を知りたいです。組み込みシステムを使用しているため、動的ライブラリ (require、共有ライブラリなど) を使用できません。答えが見つかりましたが、それは lua 5.0 ( http://www.lua.org/pil/26.2.html ) 用であるため、互換性がありません。誰かがアイデアを持っている場合は?

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

lua - 新しいライブラリから呼び出された関数

新しいライブラリから関数の 1 つを呼び出すスクリプト lua を作成します。私は組み込みシステムを使用しているため、ライブラリはlinit.cで宣言されています。( lua で新しい C ライブラリを作成します)。スクリプトと lua ソースの間に require のようなリンクを追加する必要があると思います。しかし、私にはわかりません.requireは答えではないようです。

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

lua - loadedlibs 構造体を使用する lua 5.2.3

lua 5.2.3 で、linit.c の loadedlibs 構造を使用するにはどうすればよいですか。この構造体に新しいライブラリを追加し、lua スクリプトからライブラリの関数を呼び出したいと考えています。

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

lua - Lua 5.2 環境で Lua 5.1 コードを実行する

私は純粋な Lua 5.2 環境にいて、Lua 5.1 コードを実行する必要があります。このコードはユーザーからの任意のコードであるため、事前に Lua 5.2 に移植することはできません。私が見る限り、これには getfenv/setfenv の再実装、_VERSION 文字列の変更、グローバル _ENV の非表示、削除された非推奨機能の再実装が必要です。何か見逃したことがありますか、それともこれを行うためのより良い方法はありますか? (純粋な Lua でしかコードを記述できず、5.1 コードを実行できる必要があります。これは下位互換性を目的としているためです。)

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

file-io - 別のディレクトリにあるファイルを読み書きするにはどうすればよいですか?

別のプログラムがファイルからデータを読み取れるように、ファイルにデータを書き込むプログラムを作成しようとしています。問題は、読み書きしているファイルが両方のプログラムとは別のディレクトリにある場合に、これを行う方法がわからないことです。これを行うには他の方法があることは知っていますが、その方法を知っておくと便利だと思いました。私を助けることができる人はいますか?

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

c++ - 'self' を参照する Lua 関数を取得できません

いくつかのメンバー値を出力するメンバー関数を持つ単純なクラスを作成しようとしていますが、'self' を参照しようとするとエラーが発生します。

実行しようとしているスクリプトは次のとおりです。

私も試しましself:Nameたが、同様のエラーが発生します。ここで何が間違っていますか?

編集:

printName()C++ コードから関数を呼び出すことを忘れていました。Lua から関数を呼び出すと、正常に動作します。

Lua で Test オブジェクトを作成し、コールバック関数を実行します。コールバックは、次のように C++ で呼び出されます。

スクリプト内のコールバックは次のように行われます。

を参照しない限り、コールバック自体は正常に機能しselfます。エラーは、私がそれをしようとしたときにのみ発生します。

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

arrays - リストの末尾から n 番目の要素を取得 (テーブル)

リスト(テーブル)がある場合:

最後からn番目のアイテムを取得するにはどうすればよいですか? (例: 最後または最後から 2 番目)

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

c# - Lua 5.1 から 5.2 への移植

古い Lua 5.1 コードを Lua 5.2 に移植する際に問題が発生しています。標準の Lua 5.2 dll/lib を使用できるようにしたいので、Lua 5.2 用の既存の API を使用して移植を完了する必要があります。もう少し複雑にするためにDllImport、Lua API 呼び出しのいくつかを P/Invoke に使用しています。これは、#define提供されているショートカットが機能しないことを意味します。たとえば、使用するlua_pushglobaltableことはできません。LUA_REGISTRYINDEXにアクセスできなくなったため、ほとんどの更新が必要です。

私がこれまでに持っているものは次のとおりです。


1a) 交換する

1b) あり


2a) 交換する

2b) あり


3a) 交換する

3b) あり


4a) 交換する

4b) あり


5a) 交換する

5b) あり


6a) 交換する

6b) あり


7a) 交換する

7b) あり


8a) 交換する

8b) あり


9a) 交換する

9b) あり

現在、すべてがコンパイルされていますが、メモリ アクセス違反の例外が発生します。これは、何かを間違って置換した可能性があることを意味します。どんな助けでも大歓迎です。

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

sockets - Lua Copas: 送信者のコルーチンが機能しなくなる

Lua 5.2 で最新の Copas を使用すると問題が発生します。「RX」と「TX」という 2 つのサーバー ソケットを作成する簡単なスクリプト (以下を参照) を作成しました。「RX」は接続されたクライアントからのメッセージをリッスンし、「TX」はそれらのメッセージを「TX」に接続されたクライアントに送信します。

問題は次のとおりです。最初は、サーバーの起動後、すべてが正常に機能します。しかし、一定量のメッセージの後、"TX" サーバー ループは実行されなくなり、メッセージは送信されなくなります。エラーメッセージはありません。動作が停止するだけです。

コパスの使い方が間違っていますか?何が問題ですか?

これは(簡略化された)コードです:

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

lua - Lua 5.2 メタテーブルと環境

私はこのような構造を持っています:

ユーザーがコードを UI に入力し、そのコードがさまざまなモジュールの関数に貼り付けられ、そのupdate直後に wherelocal _ENVが設定されるという考え方です。このユーザー入力コードはサンドボックス化する必要があります。contextいくつかの関数 (表にあるもの) と他のモジュールの内容にアクセスできる必要があります。コード inm1:updateは、変数 inm1.variablesを修飾せずに参照できる必要があります。他のモジュール内の変数 (つまり 内のものm2.variables) は、モジュール名 (つまり ) で修飾することによってアクセスできるようにする必要がありますm2.x

しかし、私が得た結果は次のとおりです。

modules.m2.variables.x更新されないのはなぜですか?もしmodules.m2.xが と違うように見えるなら、modules.m2.variables.xはどこmodules.m2.xから来ているのでしょうか?