function TestStrFunc()
Log.Log(“–TestStrFunc “)
end
–把函数序列化成字符串来保存
fstr = string.dump(TestStrFunc)
Log.Log(‘fstr type =’..tostring( type(fstr)))
Log.Log(‘fstr =’..tostring(fstr))
–把字符串反序列化成函数
local func = loadstring(fstr)
if func then
func()
end
举例
module(“Util”, package.seeall)
— 执行服务器下发的Lua代码
function ExecuteLuaString(luaStr)
if luaStr == nil or luaStr == “” then
return
end
local handle = loadstring(luaStr)
if handle == nil then
return
end
local r, e = pcall(handle)
if r == false then
Log.Error( “CallLFail:”..tostring(e))
end
end