标签:check pre module end dex cal print class get
在一个lua文件中书写的代码, 使用的变量, 需要设置其运行环境。
目的:
1、 不破坏全局环境。
2、 限定文件所使用的环境, 作为沙箱功能。
限定运行空间环境的文件:
local m = {} m.dingzhiprint = function () print("nasView print") print(os.getenv("PWD")) end bbb = 1 print("dmenu="..dmenu) return m
加载上个文件的代码 (将dmenu的值,传入上个文件, 并限定只能在全局环境中读取):
function callfunc() local dmenu = "aaaa" local prog = _G.loadfile("newModule.lua") --check lua or chunk --local _env local env = setmetatable({dmenu=dmenu}, {__index=_G}) --local env = getfenv(1) if env then --_env = getfenv (prog) setfenv (prog, env) end prog () end callfunc()
标签:check pre module end dex cal print class get
原文地址:http://www.cnblogs.com/lightsong/p/6351359.html