For loop 在Lua中用另一个2DArray填充2DArray
有没有一种方法可以在Lua中用另一个二维数组填充二维数组?我现在用的是这个For loop 在Lua中用另一个2DArray填充2DArray,for-loop,lua,multidimensional-array,For Loop,Lua,Multidimensional Array,有没有一种方法可以在Lua中用另一个二维数组填充二维数组?我现在用的是这个 local T4 = { {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }; function myFunc() local Pieces = {} for x = 1, 5 do Pieces[x]={}
local T4 = {
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
};
function myFunc()
local Pieces = {}
for x = 1, 5 do
Pieces[x]={}
for y = 1, 5 do
Pieces[y][x] = T4[y][x]--the error is probably here
end
end
end
但这不起作用,我有一个很好的理由这样做,因为这个过程会重复很多次,所以使用T4不是一个选项
另外,我没有收到错误,程序就停在那里,你知道怎么做吗?你的索引搞砸了:
function myFunc()
local Pieces = {}
for y = 1, 5 do
Pieces[y]={}
for x = 1, 5 do
Pieces[y][x] = T4[y][x]
end
end
return Pieces
end
您可以使用以下方式复制任何表:
function copytable(t)
local copy = {}
for key,val in pairs(t) do
if type(val) == 'table' then
copy[key] = copytable(val)
else
copy[key] = val
end
end
return copy
end
这是我的头顶,所以使用阳离子。它肯定不处理循环引用(一个包含对同一个表的引用的表)。您的索引被弄乱了:
function myFunc()
local Pieces = {}
for y = 1, 5 do
Pieces[y]={}
for x = 1, 5 do
Pieces[y][x] = T4[y][x]
end
end
return Pieces
end
您可以使用以下方式复制任何表:
function copytable(t)
local copy = {}
for key,val in pairs(t) do
if type(val) == 'table' then
copy[key] = copytable(val)
else
copy[key] = val
end
end
return copy
end
这是我的头顶,所以使用阳离子。它肯定不处理循环引用(一个包含对同一个表的引用的表)。非常感谢我没有注意到copytable看起来不错我可能会再试试谢谢谢谢谢谢你非常感谢我没有注意到copytable看起来不错我可能会再试试谢谢你