lua 序列化和反序列化一个带有函数值的表格

嗨,我有一个表格看起来像这样

local tbl = { AAA = {'ssss',require('xx').func_name}, BBB = {'aaa','bbb'}}

现在我可以使用这个函数对 tbl 进行序列化。

local function serialize(obj)
  local text = ""
  local t = type(obj)
  if t == "string" then
    text = text .. string.format("%q", obj)
  elseif t == "function" then
    text = text .. 'load('..string.dump(obj) ..')'
  elseif t == "table" then
    text = text .. "{\n"
    for k, v in pairs(obj) do
    text = text .. "[" .. serialize(k) .. "]=" .. serialize(v) .. ",\n"
    end
    text = text .. "}"
  elseif t == "nil" then
      return nil
  else
      error("无法序列化类型为 " .. t .. " 的对象。")
  end
  return text
end

但是我该如何反序列化这个 tbl 呢?我不知道如何还原这个函数。

点赞