Lua - 在循环中扩展表
Lua - Extending Tables in loops
注意:这在 Roblox's version of Lua 中。
我有以下代码片段:
for index, child in pairs(workspace.IMG:GetChildren()) do
xyz = child.Position
ImgScript = {}
table.insert(ImgScript, -1, child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z)
end
所以workspace.IMG
是一个模型,里面有一堆砖头。我正在尝试将该模型转换为 script builder 的脚本。所以我可以让它为每块砖做 Instance.new('Part', script) blah blah blah
,但这相当于一个大脚本。因此,我正在制作一个 table,其中包含所有必要的信息(BrickColor 和 Position)。这是我希望 table 的样子:
{{BrickColor Number, X, Y, Z}, {123, 14, 52, 65}, {156, 13, 52, 65}, etc.}
但我目前的脚本并没有制作这种table。它什么都不做;事实上,我不希望它按照我的要求去做;我只是不知道如何制作这种 table.
我想你想要这个:
ImgScript = {}
for index, child in pairs(workspace.IMG:GetChildren()) do
xyz = child.Position
table.insert(ImgScript,{child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end
放那行
ImgScript = {}
循环之前。实际上,您在每次迭代中创建一个新的 table(并丢弃前一个)。
如果您希望 ImgScript table 以 'header' 条目开头,请将其添加到此处。
当然,table.insert
调用应该是
table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
最后,整个脚本将是:
ImgScript = {{'BrickColor Number', 'X', 'Y', 'Z'}}
for index, child in pairs(workspace.IMG:GetChildren()) do
local xyz = child.Position
table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end
注意:这在 Roblox's version of Lua 中。 我有以下代码片段:
for index, child in pairs(workspace.IMG:GetChildren()) do
xyz = child.Position
ImgScript = {}
table.insert(ImgScript, -1, child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z)
end
所以workspace.IMG
是一个模型,里面有一堆砖头。我正在尝试将该模型转换为 script builder 的脚本。所以我可以让它为每块砖做 Instance.new('Part', script) blah blah blah
,但这相当于一个大脚本。因此,我正在制作一个 table,其中包含所有必要的信息(BrickColor 和 Position)。这是我希望 table 的样子:
{{BrickColor Number, X, Y, Z}, {123, 14, 52, 65}, {156, 13, 52, 65}, etc.}
但我目前的脚本并没有制作这种table。它什么都不做;事实上,我不希望它按照我的要求去做;我只是不知道如何制作这种 table.
我想你想要这个:
ImgScript = {}
for index, child in pairs(workspace.IMG:GetChildren()) do
xyz = child.Position
table.insert(ImgScript,{child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end
放那行
ImgScript = {}
循环之前。实际上,您在每次迭代中创建一个新的 table(并丢弃前一个)。
如果您希望 ImgScript table 以 'header' 条目开头,请将其添加到此处。
当然,table.insert
调用应该是
table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
最后,整个脚本将是:
ImgScript = {{'BrickColor Number', 'X', 'Y', 'Z'}}
for index, child in pairs(workspace.IMG:GetChildren()) do
local xyz = child.Position
table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end