博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua 设置文件运行的环境
阅读量:6359 次
发布时间:2019-06-23

本文共 604 字,大约阅读时间需要 2 分钟。

背景

在一个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()

 

转载地址:http://subma.baihongyu.com/

你可能感兴趣的文章
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
ES6 - 函数与剩余运算符
查看>>
你对position了解有多深?看完这2道有意思的题你就有底了...
查看>>
WebSocket跨域问题解决
查看>>
世界经济论坛发布关于区块链网络安全的报告
查看>>
巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态
查看>>
Ubuntu 16.04安装Nginx
查看>>
从 JS 编译原理到作用域(链)及闭包
查看>>
flutter 教程(一)flutter介绍
查看>>
CSS面试题目及答案
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
查看>>
Spring自定义注解从入门到精通
查看>>
笔记本触摸板滑动事件导致连滑的解决方式
查看>>
Runtime 学习:消息传递
查看>>
你了解BFC吗?
查看>>
linux ssh tunnel使用
查看>>
十、详解FFplay音视频同步
查看>>
自定义元素探秘及构建可复用组件最佳实践
查看>>
小猿圈Python教程之全面解析@property的使用
查看>>