当前位置: 首页 > news >正文

【Lua】大G表

Lua大G表

_G表是一个保存了所有已经运行了的全局变量,它是全局环境表

_G自身也会被存入_G表中,所以_G._G == _G --> true

_G._G._G._G == _G --> true

如果你用了 setfenv() 或 _ENV 可能会影响 _G 的使用范围(Lua 5.2+ 以后 _ENV 替代了 _G)

-- 例子:判断_G里是否有print函数这种方法
if type(_G["print"]) == "function" thenprint("全局变量中有定义了print")
end
-- 例子:检查脚本是否调用了print()函数
local old_print = print --将old_print指向当前的print
local print_used = false --这是一个用于判断print是否被使用过的标识-- 让print这个引用指向一个新的函数,旧的print函数此时被old_print指着
print = function ()print_used = trueold_print()
end-- 调用
print("Hello!")-- 判断是否使用了print
if print_used thenold_print("本脚本中使用了print函数")
end
-- 例子:打印_G表中所有的全局变量及其指向的内容
-- _G表内包括了
-- 1. 所有的全局变量,没有用local修饰的变量
-- 2. Lua内建的全局函数:如_G["print"] -->打印函数
-- 3. 标准库模块
-- 4. _G自己,即_G["_G"] == _G --> truefor i,v in pairs(_G)
doprint("全局变量",i,"指向了"..tostring(v))
end
http://www.dtcms.com/a/289182.html

相关文章:

  • C++STL之stack和queue
  • C++string类简介
  • MySQL 配置性能优化实操指南:分版本5.7和8.0适配方案
  • 解锁Phpenv:轻松搭建PHP集成环境指南
  • C++运算符重载
  • 【智能协同云图库】第一期:用户管理接口设计与功能实现
  • 08_Opencv_基本图形绘制
  • Java SpringBoot 对接FreeSwitch
  • 【图像处理基石】什么是畸变校正?
  • AG32:解锁MCU+FPGA应用新姿势,功能与实战全解析
  • JavaScript 语言基础详解
  • 金融大前端中的 AI 应用:智能投资顾问与风险评估
  • SSE和WebSocket区别到底是什么
  • FAN-UNET:用于生物医学图像分割增强模型
  • Python 中的闭包:原理、应用与实践
  • 2025.7.20总结-实战演讲
  • 单细胞空间多组学揭示肿瘤相关成纤维细胞的保守空间亚型和细胞邻域-空间细胞亚群细分代码实现
  • 常用的三种加密算法
  • 金融工程、金融与经济学知识点
  • ICT模拟零件测试方法--电容测试
  • 算法讲解--复写零
  • 【OpenGL 渲染器开发笔记】5 顶点数据
  • LeetCode第337题_打家劫舍III
  • Spring Boot 配置文件解析
  • 《深入C++多态机制:从虚函数表到运行时类型识别》​
  • 牛客NC14661 简单的数据结构(deque双端队列)
  • python学智能算法(二十六)|SVM-拉格朗日函数构造
  • 非广告!! 【实用工具推荐】自用多功能视频播放器-РotРlayer详细图文安装使用教程
  • 【安卓笔记】RecyclerView之ItemDecoration实现吸顶效果
  • codepen使用