for ループを使用して変数に動的に名前を付けることは可能ですか? 次のようなもの:
t = {}
For i in ipairs(tablename) do
t.i = something
End
私の実際の問題は、wireshark ディセクタのプロトフィールドを動的に作成することですが、上記が不可能な場合、プロトフィールドの問題が可能になるとは思えません
for ループを使用して変数に動的に名前を付けることは可能ですか? 次のようなもの:
t = {}
For i in ipairs(tablename) do
t.i = something
End
私の実際の問題は、wireshark ディセクタのプロトフィールドを動的に作成することですが、上記が不可能な場合、プロトフィールドの問題が可能になるとは思えません
あなたの問題を正確には理解していませんが、次のことを試してください。
t = {}
for i in ipairs(tablename) do
_G["t"][i] = tablename[i];
end
または、数値を含む変数名を作成することを意味している場合(私はあなたが意味していると思います):
local tablename = {"a", "b"}
for i in ipairs(tablename) do
_G["t"..i] = tablename[i];
end
したがって、「t1」、「t2」変数があります。
_G[name] はグローバル変数として使用されます (少なくとも Runes of Magic では)。
_G[name] がエラーを返す場合は、代わりに setglobal(name) を試してください。