首页 > 代码库 > lua 设置文件运行的环境
lua 设置文件运行的环境
背景
在一个lua文件中书写的代码, 使用的变量, 需要设置其运行环境。
目的:
1、 不破坏全局环境。
2、 限定文件所使用的环境, 作为沙箱功能。
解法
限定运行空间环境的文件:
local m = {}m.dingzhiprint = function () print("nasView print") print(os.getenv("PWD"))endbbb = 1print("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 () endcallfunc()
lua 设置文件运行的环境
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。