当前位置: 首页 > 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.lryc.cn/news/594521.html

相关文章:

  • Linux 基本指令详解
  • 【论文研读】SlowFast Networks for Video Recognition
  • 大语言模型调用方式与函数调用
  • 从磁记录到数据中心:磁盘原理与服务器架构的完整技术链路
  • CVE-2022-41128
  • 六边形滚动机器人cad【7张】三维图+设计书明说
  • 从零搭建智能搜索代理:LangGraph + 实时搜索 + PDF导出完整项目实战
  • 【超越VGGT】π3-利用置换等变方法去除3r系列的归纳偏置
  • TypeScript 中替代 Interface 的方案
  • 一文速通《二次型》
  • UE5多人MOBA+GAS 26、为角色添加每秒回血回蓝(番外:添加到UI上)
  • 图的表示法以及实现
  • zabbix服务器告警处理
  • 【windows 终端美化】Windows terminal + oh-my-posh 来美化命令行终端
  • C++ 桶排序、基数排序、堆排序
  • Beamer-LaTeX学习(教程批注版)【6】
  • selenium4 web自动化测试
  • 对LLM某一层进行优化:通过眼动数据发现中间层注重语句内在含义,进而对中间层参数优化
  • 《拆解WebRTC:NAT穿透的探测逻辑与中继方案》
  • Flink高频考点:Checkpoint与Savepoint的高可用实战指南
  • 【详细笔记】两类曲线积分转换
  • PostgreSQL 字段类型速查与 Java 枚举映射
  • Shell脚本-grep工具
  • 【超分辨率专题】OSEDiff:针对Real-World ISR的单步Diffusion
  • 以“融合进化 智领未来”之名,金仓Kingbase FlySync:国产数据库技术的突破与创新
  • 基于单片机倾角测量仪/角度测量/水平仪
  • 浅谈 Vue 的双向数据绑定
  • 安全信息与事件管理(SIEM)系统架构设计
  • ABP VNext + Playwright E2E:前后端一体化自动化测试
  • MCP的inspector、了解具有上下文记忆功能的MCP——OpenMemory MCP