問題タブ [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 に答える
251 参照

lua - _ENV を介して「名前空間を使用して」C++ をエミュレートする

ファイルがある場合foo.lua

そして、bar.lua私はコードを多用しています。いつもfoo.lua入力foo.add()するのが面倒で、ただ書くことを好むのでadd()bar.luaこれを追加できます。

しかし、多くのファイルから多くの値をエイリアスすることを含めると、それは苦痛になり始めます。C++ では、これを回避する方法があります。

lua では、次のようにこの機能をエミュレートできると考えていました。

私が言えることから、スコープを尊重しているため、以下のコードのようなものがうまく機能します。

実際、以下のコードは機能しません。lua replを介してコードを実行していました。以下のコード スニペットを lua ファイルに記述したところ、目的の結果が得られませんでした。

これを後悔する理由はありますか?( にも当てはまる理由を除くusing namespace

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

lua - 割り当てられた値が突然消えました。説明はありますか?

1.既に に割り当てvN[i]印刷しましたが、それでも 10t[0]になりましたnil

__newindex2.ループに入れないとメタメソッドが動かないのはなぜですか? (ループの外に置くとt[0] = 10whileループ内のメタメソッドも動かなくなります)