Lua将语句写到字符串然后调用执行
1.代码
local code = "return 10 + 20" local execute = load(code) if execute then local result = execute() print(result) -- 这将打印 30 else print("Compilation failed.") end
注意:如果字符串里用到了模块,可能直接运行不了,需要将运行时所依赖的环境都加进去。
local code = "return ModuleA.getPara('startSeg')" local env = { ModuleA = ModulePublicParas } local execute = load(code, nil, nil, env) print(execute())
也可以使用全局的环境:
local execute = load(code, nil, nil, _G)
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html