通过字符串化引用而不是直接通过引用传递 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)()
.
我想将 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)()
.