arr = {
{'a',1},
{'b',2},
{'c',3}
}
print(arr[1][1])
print(arr[2][2])
print(arr[2])
输出
a 2 表:0x1e41080 ,对于你们来说,这可能是一个非常新手的问题。但即使在这里提出这样的问题真的很尴尬,我问,因为无法在网上找到解决方案。有没有办法可以指出整张桌子?就像我想指出{' b',2}而不是数组/表的地址。
答案 0 :(得分:2)
目前还不清楚你用“点2d数组”调用什么,因为Lua中没有指针。
在Lua中也没有2d数组,有桌子表。
使用arr[2]
获得的内容正是您可以传递的内部表的一个值。它不是“只是地址”,它是一个可以在以后随处读/写的表。您会看到一些看起来像地址的内容,因为这是表的print
的默认行为。
local arr = {
{'a',1},
{'b',2},
{'c',3}
}
local function display(v)
print(v[1], v[2])
end
display(arr[1])
display(arr[2])
display(arr[3])
请注意,您不能拥有表中某个元素的指针(引用)。您需要两个值来处理表的各个元素 - 表本身及其索引的值(不一定是数字或文本)。
答案 1 :(得分:1)
没有内置的方法可以做到这一点。如果您的表都具有相同的结构,您可以使用它来获取字符串:
('{%q,%d}'):format(element[1], element[2])
如果表格更复杂,则可以使用包含更复杂代码的循环。