私は実際にこの質問について長い間疑問に思っていました。インターネット上のどこかで何かを読んで、すべてのローカル変数をテーブルに読み込むことを思い出すことができます。 私は、グローバル変数を動的に作成する方法と同様に、基本的にローカル変数を動的に作成する方法があるのだろうと思います。 Luaので あなたは単に言って動的なグローバル変数を作成することができます。Luaは、すべてのローカル変数をテーブルにロードしたり、ローカル変数を動的に作成することは可能ですか?
local my_env = getfenv(1);
for i = 1, 10 do
my_env["OMG_DYNAMIC_GLOBAL_VARIABLE_"..i] = i * i;
end
しかし、本質的に同じまたはローカル変数のために同じようなことを行う方法がある場合、私はいつも疑問に思っています。何かのように
for i = 1, 10 do
local["OMG_DYNAMIC_LOCAL_VARIABLE_"..i] = i * i;
end
私はしようとしているものの擬似コードとなります。 私の質問の2番目の部分として、現在のスコープ内のすべてのローカル変数を反復処理する方法があるのだろうかと思いますか?私は私の質問のいずれかの部分に関して任意の助けをいただければ幸いです
local a = 123;
local b = 321;
LocalVars = {(local)}; --the table with the local variables in it.
for i,v in pairs(LocalVars) do print(i, v); end
:私は、私が何をしようとしています何のための擬似コードは次のようになりますね。 ありがとう
これは、すべてのローカルをチェックしてテーブルに入れることができるので、debug.getlocalの例を確認してください:https://www.lua.org/pil/23.1.1.htmlしかし、これを使って問題を解決するのではなく、これはデバッグ用です目的(パフォーマンスの問題) –
本当に解決しようとしている問題は何ですか?ローカル変数を動的に作成できる場合は、どのようにこの機能を使用しますか? – lhf