通过字符串化引用而不是直接通过引用传递 Lua table

Pass Lua table by stringified reference instead of directly by reference

我想将 lua 引用传递给另一个函数而不实际使用赋值 = 但类似于 loadstring.

local myTable = { test="Hello" }
local myTableStringified = tostring(myTable) -- table: 0xref
print(myTableStringified)
local myTableUnstringified = loadstring(myTableStringified)
print(myTableUnstringified) -- nil but should show table: 0xref

如上所示,这是不行的。

您必须使用提供 serialization 的模块之一。

请记住,loadstring returns 是一个需要调用的函数,因此要返回 table,您需要使用 loadstring(myTableStringified)().