Lua表通过引用插入

时间:2014-05-09 20:00:39

标签: insert lua lua-table

我想在表中添加一个变量,并在单个变量中查看表中所做的更改。我认为这个问题很突出,因为当我将变量插入表时,它会通过值传递。

现在我将表中的一个元素设置为nil,但是我想要的变量并未对其进行修改。如何将值关联起来以实现下一个程序打印" nil"而不是"不是零"。

tab = {}

x = 2
y = 4

table.insert(tab, x)
table.insert(tab, y)

for i = 1 , #tab do
    tab[i] = nil
end

if x == nil then print("is nil")
else  print("is not nil") end

解决:

这是解决方案。将变量转换为表。问题是由于[1]指数,sintax变得丑陋。我会看看我是否可以隐藏这个,因为我将在我的脚本中使用这些变量,并且我不想一直使用[]索引只有一个变量。

tab = {}

x = {2}
y = {4}

table.insert(tab, x)
table.insert(tab, y)


for i = 1 , #tab do
    tab[i][1] = nil
end

if x[1] == nil then print("is nil")
else  print("is not nil") end

1 个答案:

答案 0 :(得分:0)

你不能在lua中这样做。不是这样的。唯一具有引用语义的是table和userdata。

如果您要将表格分配到tab,则可以从原始变量和tab中查看该表格的字段。