問題タブ [lua]
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.
lua - Lua 5.1 に残されたグローバル変数は _VERSION だけですか?
_LOADED
、LUA_PATH
など(Lua 5.1 では使用できませんでした)への Lua 5.0 のドキュメント参照に困惑し、_ALERT
それらがすべて削除され、機能が別の場所に配置されていることを発見しました。Lua 5.1 に残された唯一のグローバル変数は_VERSION
.
performance - Lua プログラムのパフォーマンスを向上させるにはどうすればよいですか?
Lua のパフォーマンスについて質問したところ、次のような回答がありました。
Lua のパフォーマンスを高く保つための一般的なヒントを調べましたか? つまり、テーブルの作成を知っており、新しいテーブルを作成するよりもむしろテーブルを再利用し、'local print=print' などを使用してグローバル アクセスを回避します。
これはLua Patterns,Tips and Tricks とは少し異なる質問です。具体的にパフォーマンスに影響を与える回答と、(可能であれば) パフォーマンスが影響を受ける理由の説明が欲しいからです。
回答ごとに 1 つのヒントが理想的です。
javascript - 最近の Lua から JavaScript へのコンバーターまたはインタープリターはどこかにありますか?
Lua から JavaScript への優れたコンバーターを見つける必要があります。luaforge.org の lua2js は古くなっています (3 年ほど前のもので、Lua 5.1 では動作しないようです)。Google ではまだ何も見つかりません。
他のコンバーターを使用した経験のある人はいますか? Lua 5.1 で動作し、できれば .NET ベースである必要がありますが、.NET は必須ではありません。JavaScript lua インタープリターも同様に機能します。
c - 組み込みシステムに適した C メモリ アロケータは何ですか?
多数の小さなブロック (32-64b) を割り当てて割り当てを解除する、単一のスレッド化された組み込みアプリケーションがあります。キャッシュベースのアロケーターの完璧なシナリオ。そして、私はそれを書くことを試みることができましたが、おそらく時間の無駄であり、すでに最前線にあるいくつかのソリューションほど十分にテストおよび調整されていません.
では、このシナリオで使用できる最良のアロケーターは何でしょうか?
注: システムで Lua 仮想マシン (割り当ての 80% 以上の原因) を使用しているため、スタック割り当てを使用して割り当てのパフォーマンスを向上させるようにコードを簡単にリファクタリングすることはできません。
windows - スタンドアロンの Lua 実行可能ファイルの作成
Lua スクリプトからスタンドアロンの .exe ファイルを作成する簡単な方法はありますか? 基本的に、これには Lua インタープリターとスクリプトのリンクが含まれます。
私はそれが可能だと信じています (PLT スキームでは、同じ方法でスタンドアロンの実行可能ファイルを作成できます)。
lua - 「upvalue をインデックスしようとする」の意味は何ですか
Lua でプログラミングの最初のステップを踏んでいますが、スクリプトを実行すると次のエラーが発生します。
おそらく、まだ把握していない非常に基本的なことが原因ですが、グーグルで調べても良い情報が見つかりません。誰かが私にそれが何を意味するのか説明してもらえますか?
ftp - LuaSocket FTP が常にタイムアウトする
LuaSocketの TCP 機能には成功しましたが、その FTP モジュールに問題があります。(小さい) ファイルを取得しようとすると、常にタイムアウトが発生します。パッシブ モード (Ubuntu Dapper Linux) で Firefox または ftp を使用して、ファイルを問題なくダウンロードできます。
パッシブ FTP を使用するには LuaSocket が必要なのかもしれないと思ったのですが、デフォルトでそうしているように見えることがわかりました。FTP 経由で取得しようとしているファイルは、私のマシンの他のプログラムからパッシブ FTP でアクセスできますが、アクティブ モードではアクセスできません。LuaSocket へのパッシブ モード サポートの「ハッキング」についての話がいくつか見つかりました。その議論は、後のバージョンではパッシブ モードの使用を停止したことを暗示していますが、私のバージョンではとにかくパッシブを使用しているようです (私は 2.0.1 を使用しています。最新のものは 2.0.2 であり、私のユースケースに関連する変更はないようです)。その投稿が私の状況にどのように関連するかについて少し混乱しています。これは、一部には非常に古く、LuaSocket のソースがその議論のコードとほとんど似ていないためです)。
コードを次のように要約しました。
これにより、タイムアウトが発生します。Linuxで実行しました ( Solarisstrace
と同じ)。ptrace
ここに要約されたトランスクリプトがあります:
接続しようとした別のサイトがありますが、ここに投稿できないパスワードがありますが、その場合、結果はわずかに異なりました...上記のようなトレースが得られましたがselect()
、最後に成功すると、次のようになります。
これを、パッシブ モードでの私の「ftp」プログラムのトレースと比較してください (これは正常に動作しますが、LuaSocket のようにソケットを非ブロックに設定しないことに注意してください)。
そのため、これら 2 つの異なる FTP サイトに対して LuaSocket を試してみましたが、異なるが同様の失敗がありました。アクティブな FTP が動作する別のマシンからも試してみましたが、うまくいきませんでした (おそらく、LuaSocket は常にパッシブ モードを使用しているためですsocket/ftp.lua
。
では、LuaSocket の 2 ライナーを一番上の作業にできる人はいますか? 私のマシンでは、Dell のサイトへのアクティブな FTP が機能しないことに注意してください (接続できますが、接続するとすぐls
に切断されます)。LuaSocket を機能させる場合は、別のプログラムから Dell のサイトへのアクティブな FTP が機能するかどうかにも注意してください。あなたのマシン。
lua - Jabber の Lua ライブラリ
Lua 用の Jabber ライブラリを知っている人はいますか? AIM 用の 'Lua Messaging Library' を見つけましたが、そのダウンロードは見つかりませんが、放棄されているようです。
Luaのようなものは役に立ちます。
申し訳ありませんが、最初にこれを述べていませんでした。「純粋な Lua」ライブラリを意味していました。
私は Verse に精通していますが、この特定のアプリケーション用に独自の Lua ディストリビューションを構築するという選択肢はありません。
garbage-collection - 完全なuserdata__gcメタメソッドはメモリをfree()する必要がありますか?
私はCで書かれたLuaモジュールに完全なuserdataを持っています__gc()
。userdataにはガベージコレクターによって呼び出されるmetamethodがあります。__gc()
luaインタープリターは呼び出し後にuserdataメモリを解放しますか、それともfree()
内部で解放する必要があり__gc()
ますか?
oop - Lua での OOP ライブラリの設計問題
私は Lua に小さな OOP ライブラリを実装しましたが、まだ 2 つの点が正しくありません。私はあなたのアドバイスを必要とします!
super() を呼び出すには?
私は選択をする必要があります。super() の呼び出しを解決するために必要な 3 つの引数は次のとおりです。
- 呼び出し元のクラス (CallerClass)
- 渡されるインスタンス (self)
- メソッドの名前 (メソッド)
私は次の 3 つの形式の間で迷っています。
どちらがあなたにとってより良く、または覚えやすいですか?
クラスシンボルは必要ですか?
Object
現在のバージョンでは、唯一の概念は、サブクラス化できるという名前のテーブルです。クラスシンボルを導入した別のバージョンがあります。
その用途は、クラスからインスタンスを伝えることです。すなわち:
メソッドを次のように開始することにより、メソッドをクラスから呼び出す必要があることを文書化して強制するのは非常に便利です。
Luaで便利ですか?どう思いますか?ありがとう!