通过序列化的引用而非直接引用传递 Lua 表

我想要将一个 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

如上所示,这样做是行不通的。

点赞
用户1442917
用户1442917

你需要使用其中一个提供序列化的模块。

请记住,loadstring返回一个需要被调用的函数,因此要获取表格,你需要使用loadstring(myTableStringified)()

2020-04-09 16:32:54