問題タブ [meta-method]

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 に答える
501 参照

lua - next() は __pairs メタメソッドを探しますか?

一般に、構文は次のとおりです。

次と同等です。

しかし、メタメソッドがある場合tはどうなる__pairsでしょうか? 標準next()関数はこれをチェックしますか? そうでない場合は、テーブルを反復処理するときに常に使用し、直接呼び出さない方がよいのではないでしょうか? pairsnext()

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

lua - print が表を表示する方法を変更するにはどうすればよいですか

次のようなコードがあるとします

aTable current aValue = 1Lua が ではなくのように出力するにはどうすればよいですtable: 0x01ab1d2

これまでのところ、メタメソッドを設定しようとしました__tostringが、それは によって呼び出されないようですprint。私が見逃しているメタメソッドはありますか、それとも答えはメタメソッドとは何の関係もありませんか?

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

c++ - 要素への Lua C++ ユーザーデータ マトリックス アクセス

C++ でマトリックス クラスがあり、コンストラクターは次のとおりです。

次のように set メソッドと get メソッドを実装しました。

マトリックス クラスは Lua からアクセスできます。ただし、Lua からマトリックスの要素にアクセスできる唯一の方法は、m がマトリックスの場合、m:GetValue または m:SetValue です。

m[1,2] または m(1,2) という表記で行列要素にアクセス (設定) できるかどうかを知りたいです。ここで、m は行列、[1,2] は最初の行の要素であり、 2列目。

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

lua - タブ内にメタテーブルをアタッチする

構成ファイルを解析してテーブルを生成するパーサーがあります。

結果のテーブルは次のようになります。

目標は、設定を読み取ることができるテーブルを用意することです。設定が存在しない場合は、親から取得しようとします。最上位では、グローバルから取得します。グローバルにない場合は nil を返します。

次のようにメタテーブルをルートにアタッチします。

ただし、キーを要求するときは機能しません。事実のように見えるのは、それが常に nil であるということです。親テーブルから読み取るにはどうすればよいですか?