如何获取表索引的引用?(lua)

如何获取表索引的引用?(lua),lua,coronasdk,love2d,luajit,entity-component-system,Lua,Coronasdk,Love2d,Luajit,Entity Component System,我想获取表中某个内容的引用,但尝试时: myReferences[x] = table[i] 我复制值。 我尝试在表之间使用一个变量: local myReference = table[i] myReferences[x] = myReference 但这也行不通 提前感谢:)Lua中没有“参考”内容。当您赋值时-只将新值绑定到变量或表的元素 如果需要对表的元素进行引用,则需要将表本身和引用索引的值存储在一起。那一对将作为你的参考。为了方便起见,它可能被包装在某种功能对象中,但本质上是同一

我想获取表中某个内容的引用,但尝试时:

myReferences[x] = table[i]
我复制值。 我尝试在表之间使用一个变量:

local myReference = table[i]
myReferences[x] = myReference
但这也行不通

提前感谢:)

Lua中没有“参考”内容。当您赋值时-只将新值绑定到变量或表的元素

如果需要对表的元素进行引用,则需要将表本身和引用索引的值存储在一起。那一对将作为你的参考。为了方便起见,它可能被包装在某种功能对象中,但本质上是同一对

但正如评论中所指出的,很可能您正试图用c++语言的方式解决其他任务,因此您最好解释一下您试图实现的目标。

Lua中没有“参考”内容。当您赋值时-只将新值绑定到变量或表的元素

如果需要对表的元素进行引用,则需要将表本身和引用索引的值存储在一起。那一对将作为你的参考。为了方便起见,它可能被包装在某种功能对象中,但本质上是同一对


但正如评论中所指出的,很可能您正试图用c++的方式解决其他一些任务,因此您最好解释一下您试图实现的目标。

您真正想做的是什么?这个问题不应该出现,因为Lua严格按引用传递(至少在语义上,不是隐藏在引擎盖下)。另外,如果该值是nil、boolean、number或string,那么它是不可变的,所以复制与引用不会有任何区别。如果Vlad正确地猜测到您正在尝试获取一个C++风格的引用,那么Lua就没有这个功能。您真正想做的是什么?这个问题不应该发生,因为Lua严格地按引用传递(至少在语义上,不是在引擎盖下)。另外,如果该值是nil、boolean、number或string,那么它是不可变的,所以复制与引用不会有任何区别。如果Vlad正确地猜测到您正在尝试获取一个C++风格的引用,那么Lua就没有这个功能。
Lua中没有“引用”的东西。实际上,Lua中有一个“参考”的东西。它通常被称为“upvalue”:-)upvalue是对基于堆的变量的引用。不幸的是,对某些内部元素(如表中的值)的引用在Lua中确实不存在。@EgorSkriptunoff,右,upvalue正在引用另一个变量。Thx用于更正:)
Lua中没有“参考”内容。实际上,Lua中有一个“参考”的东西。它通常被称为“upvalue”:-)upvalue是对基于堆的变量的引用。不幸的是,对某些内部元素(如表中的值)的引用在Lua中确实不存在。@EgorSkriptunoff,右,upvalue正在引用另一个变量。用于纠正的Thx:)