問題タブ [lua-table]
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 コードを C# に簡単に移植する
Lua コードを C# に移植する簡単な方法はありますか?
おそらく最大の問題は、いくつかの辞書できちんとテーブルを移植することでしょう。
誤解を避けるために、いいえ、組み込みの Lua を自分のプログラムで使用することはできません。
c++ - Lua から C++ にテーブルを渡すにはどうすればよいですか?
長さ不明のテーブルを Lua からバインドされた C++ 関数に渡すにはどうすればよいですか?
次のようにLua関数を呼び出せるようにしたい:
テーブルの内容を配列 (できれば STL ベクトル) にコピーしますか?
lua - テーブルにLuaの要素が含まれているかどうかを確認するには?
テーブルに値が含まれているかどうかを確認する方法はありますか? 私は独自の(素朴な)機能を持っていますが、そのために「公式」が存在するかどうか疑問に思っていましたか?それとももっと効率的な...
ところで、私がこの関数を使用している主な理由は、テーブルをセットとして使用することです。つまり、要素が重複しないようにするためです。他に使えるものはありますか?
java - できればRubyまたはJavaでLuaテーブルを解析するためのツールが必要です
Luaテーブル式を解析するためのツールが必要です。他のすべてが失敗した場合、最終的には小さなLuaモジュールをコーディングしてテーブルをXMLに変換しますが、当面はそれを行うRubyライブラリに興味がありますが、失敗した場合は、任意の言語のツールを受け入れます。そのソースを見ることができます。
スニペットの例を次に示します(これはWoWアドオン出力です)。
基本的な考え方は、ネストされた連想配列です。ヘルプやポインタがあれば調べられます。アイデアはありがたいです。
EDIT #1
論争のため、私が何を試みたかを明確にさせてください。次のように、参加者の1人が提供した文字列/正規表現置換チェーンを補完しました。
私は(1)Luaコメントの削除を追加し、(2)正規表現置換の1つを置き換えました:オブジェクト/配列の最後の要素がある場合でも、その後にコンマがあるため、カバーしてコンマを適切に削除する必要があります。
中括弧が二重に開いていることに気づきましたか?JSONは匿名オブジェクトを持つのが好きではありません。それはそのように見えます:
基本的にルートレベルでは、例に従うために、実際には「aaa」セクションと「qqq」セクションの両方を持つ類似したオブジェクトのリスト/配列があります。ただし、Luaでは明らかに許可されていますが、JSONでは許可されていません。中括弧の先頭は「オブジェクトの開始」のように扱われますが、そのオブジェクトには名前がありません。
そのケースを正規表現で検出し、中括弧を「[]」ペアに置き換えようとしました。結果の正規表現は機能しましたが、問題は同じでした。代わりに、同様のオブジェクトの配列を定義しますが、配列の宣言には名前がありません。
考えられる解決策は、これらの中括弧を検出して[]に置き換える代わりに、オブジェクトを次のようなインデックスで命名することです"0" = { "aaa" = {...} }, "1" = { "aaa" = {... } }
。その(できれば最終的な)回避策でおそらく機能するでしょう...再度報告します。;)
memory-management - Luaテーブルのメモリ使用量を取得する(簡単な)方法はありますか?
Luaテーブルが使用しているメモリの量を調べたいのですが、テーブルの内容を繰り返し処理したり、使用量をカウントしたりすることはありません。これを支援できるLua5.1関数またはサードパーティライブラリはありますか?
string - Luaでは、カスタム関数なしでN番目の結果を簡単に選択できますか?
次のように文字列をテーブルに挿入するとします。
これは、:mystring
で出現するすべての「a」を「b」に置き換えることによって生成されinput
ます。
gsub
2つの結果を返すため、2つを1つのステートメントに結合する明白な方法は機能しません。
これは、複数のリターン値をサポートするために支払われる価格だと思います。問題は、最初の戻り値だけを選択するための標準の組み込みの方法があるかどうかです。私が見つけたときselect
、それはまさにそれがしたことだと思いましたが、残念ながら、それは実際にはN以降のすべての結果を選択するので、このシナリオでは役に立ちません。
select
これで、自分自身を次のように定義できることがわかりました。
しかし、これを行うための組み込みの方法を期待しているので、これは正しく見えません。
だから、私はいくつかの組み込みの構造が欠けていますか?そうでない場合、Lua開発者は別の変数を使用して正しい引数を抽出したり、独自のselect1
関数を記述したりする傾向がありますか?
arrays - Lua配列(テーブル)が0ではなく1で始まるのはなぜですか?
Luaのこの部分の決定の背後にある理論的根拠を理解していません。インデックス作成が1から始まるのはなぜですか?私は(他の多くの人が読んだように)この素晴らしい論文を読みました。学び、プログラムするのがとても楽しい言語の奇妙な一角に思えます。誤解しないでください。Luaは素晴らしいですが、どこかに説明が必要です。私が(ウェブ上で)見つけたもののほとんどは、インデックスが1から始まると言っているだけです。終止符。
その設計者が主題について言ったことを読むことは非常に興味深いでしょう。
私はLuaの「非常に」初心者であることに注意してください。テーブルについて、明らかな何かを見逃していないことを願っています。
lua - LuaテーブルCapi
私が知っている:http: //lua-users.org/wiki/SimpleLuaApiExample
エントリごとにテーブル(キー、値)ペアのエントリを作成する方法を示します。
代わりに、巨大なテーブル(たとえば、キーと値の両方が文字列である1000エントリテーブル)を作成したいとします。これをluaですばやく実行する方法はありますか(エントリごとに4つのfunc呼び出しではありません:
class - ネストされたテーブルを持つ Lua クラス インスタンス
次のようなシンプルなクラスのシンプルな Lua ゲーム:
- 何とか何とか何とか
非テーブル値はインスタンスごとに個別ですが、テーブル値はすべてのインスタンス間で共有されます。1 つのインスタンスで stats.X 値を変更すると、他のすべてのインスタンスに同じ統計テーブルが表示されます。
Q1: OO の実装に欠陥がありますか? LOOP を試してみましたが、同じ結果が得られました。私のロジックに根本的な欠陥がありますか?
Q2: クリーチャーの各インスタンスに独自の統計テーブル (およびサブ テーブル) を持たせるにはどうすればよいですか?
PS。例よりも少し複雑で、コードの他の部分がこのネストされたテーブルの実装で単純化されているため、クラス テーブルをフラット化することはできません。
lua - この Lua テーブルに 4 つのフィールドしかないのはなぜですか? 7つじゃないの?
この Lua テーブルに 4 つのフィールドしかないのはなぜですか? 7つじゃないの?
polyline[2]
このテーブルの 2 番目のフィールドである「厚さ」にインデックスを付けると思いました。