如何在lua中创建动态矩阵
我正试着用lua中的矩阵来制作我的地下城生成器。基本上我会有矩阵[x][y],里面的结构会存储每个“房间”的信息。但因为它是一个发电机,我不知道我会有多少房间,我知道的唯一方法就是做这样的东西:如何在lua中创建动态矩阵,lua,Lua,我正试着用lua中的矩阵来制作我的地下城生成器。基本上我会有矩阵[x][y],里面的结构会存储每个“房间”的信息。但因为它是一个发电机,我不知道我会有多少房间,我知道的唯一方法就是做这样的东西: mat = {} for i = 0, 10 do mat[i] = {} for j = 0, 10 do mat[i][j] = 1 end end 所以问题是,有没有一种方法可以创建一个矩阵,当我向它添加数据时,它的大小会动态增加?因为将会有空白,因为地牢
mat = {}
for i = 0, 10 do
mat[i] = {}
for j = 0, 10 do
mat[i][j] = 1
end
end
所以问题是,有没有一种方法可以创建一个矩阵,当我向它添加数据时,它的大小会动态增加?因为将会有空白,因为地牢将像一个树枝。在Lua中编程: 此外,表格没有固定的大小;可以添加任意数量的元素 您希望动态创建一个表 要处理对不存在的表成员的访问,从而避免索引nil值时出现错误消息,可以使用实现uu index元方法的元表 在下面的示例中,Lua将在您的表中插入一个空表,只要它还不存在 详情请参阅
local mt_2D = {
__index =
function(t, k)
local inner = {}
rawset(t, k, inner)
return inner
end
}
local array2D = setmetatable({}, mt_2D)
array2D[2][5] = 'it works'
print(array2D[2][5]) --> it works
从Lua中编程: 此外,表格没有固定的大小;可以添加任意数量的元素 您希望动态创建一个表 要处理对不存在的表成员的访问,从而避免索引nil值时出现错误消息,可以使用实现uu index元方法的元表 在下面的示例中,Lua将在您的表中插入一个空表,只要它还不存在 详情请参阅
local mt_2D = {
__index =
function(t, k)
local inner = {}
rawset(t, k, inner)
return inner
end
}
local array2D = setmetatable({}, mt_2D)
array2D[2][5] = 'it works'
print(array2D[2][5]) --> it works
Lua表本质上是动态的。他们没有固定的尺寸。这是一张桌子的桌子。与其他语言中的“不规则数组”类似,只是表不是数组。(如果您想要“array length”和其他类似于数组的属性,则必须保留表a“”,这比“array”更具限制性。)Lua表本质上是动态的。他们没有固定的尺寸。这是一张桌子的桌子。与其他语言中的“不规则数组”类似,只是表不是数组。(如果您想要“数组长度”和其他类似数组的属性,您必须保留表a“”,这比“数组”更具限制性。)是否有任何示例可以让我遍历插入到此表中的所有值?@Paulix-
对于x,t成对(array2D)对于y,对中的值(t)进行打印(x,y,value)end end
是否有任何示例可以让我运行此表中插入的所有值?@palix-对于x,t成对(array2D)对于y,值成对(t)打印(x,y,value)end