如何在lua中创建动态矩阵

保利克斯

我正在尝试在 lua 中为我的地牢生成器使用一些矩阵。基本上我会有矩阵 [x][y] 和里面的结构将存储每个“房间”的信息。但既然是发电机,我不知道我会有多少房间,我知道的唯一方法就是做这样的事情:

mat = {}
for i = 0, 10 do
    mat[i] = {}
    for j = 0, 10 do
        mat[i][j] = 1
    end
end

所以问题是,有没有办法创建一个矩阵,当我向其中添加数据时动态增加大小?因为地下城会像树枝一样,所以会有空白。

埃戈尔·斯克里普图诺夫

从 Lua 编程:

此外,表格没有固定大小;您可以动态地向表格中添加任意数量的元素。

要处理对不存在的表成员的访问,从而避免索引 nil 值时出现错误消息,您可以使用实现 __index 元方法的元表。

在下面的例子中,Lua 会在你的表中插入一个空表,只要它还不存在。

请参考https://www.lua.org/manual/5.3/manual.html#2.4详细内容

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C中动态定义矩阵

来自分类Dev

如何在C中动态定义矩阵

来自分类Dev

如何在python中创建矩阵数组?

来自分类Dev

如何在numpy中创建子矩阵

来自分类Dev

如何在JButtons矩阵中创建事件?

来自分类Dev

如何在R中创建列表矩阵?

来自分类Dev

如何在R中创建转换矩阵

来自分类Dev

如何在R中逐步创建矩阵

来自分类Dev

如何在python中创建矩阵数组?

来自分类Dev

如何在Swing中创建随机矩阵?

来自分类Dev

如何在矩阵中创建行的子集

来自分类Dev

如何在R中创建关系矩阵?

来自分类Dev

如何在流星中创建动态资产

来自分类Dev

如何在D中创建动态库?

来自分类Dev

如何在Jade中动态创建行?

来自分类Dev

如何在GWTP中创建动态表

来自分类Dev

如何在Erlang中动态创建原子?

来自分类Dev

如何在Java中动态创建变量?

来自分类Dev

如何在php中动态创建数组?

来自分类Dev

如何在php中创建动态URL?

来自分类Dev

如何在Python中创建动态列表?

来自分类Dev

如何在jQuery中创建动态表?

来自分类Dev

如何在C ++中动态创建向量

来自分类Dev

如何在TypeScript中创建动态类?

来自分类Dev

如何在MongoDB中创建动态查询?

来自分类Dev

如何在QML中创建动态委托?

来自分类Dev

如何在Jekyll中动态创建链接?

来自分类Dev

如何在axios中创建动态baseURL

来自分类Dev

如何在Java中动态创建JSON?