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

【Lua】多脚本引用

在当前脚本引用其他脚本:require("脚本名")

package.loaded()

package.loaded返回的本身是一个Lua的全局表,它也被存储在了_G表中,即

package.loaded_G["package"].loaded_G["package"]["loaded"]三者本质上一样

它用于记录已经被require()加载过的模块

package.loaded["脚本名"] 只能返回一个值,它的本质是一个table的查找操作,即从package.loaded这个table中取出键为“脚本名”的值

例子:

local result = package.loaded["脚本名"]

1.package.loaded["脚本名"] 前有require("脚本名")

a.若被加载的脚本有return值:获取到的result值为return的第一个值

b.若被加载的脚本没有return值:获取到的result值为true

2.package.loaded["脚本名"] 前没有require("脚本名")

a.result值为nil

被加载的脚本再次调用require不会被二次加载,当脚本被第一次加载后,会被存储在package.loaded这个table内,package.loaded["脚本名"]存储了对应的引用,而在每次的require时,会再次检查这个表,看看是否已经加载了对应的脚本。

http://www.xdnf.cn/news/1157455.html

相关文章:

  • 数据结构 | 栈:构建高效数据处理的基石
  • Docker Compose
  • LeetCode 198 打家劫舍 LeetCode 213.打家劫舍II
  • Kotlin函数式接口
  • 力扣:动态规划java
  • kotlin Flow快速学习2025
  • 算法训练营DAY36 第九章 动态规划part04
  • Request和Response相关介绍
  • 数字图像处理(四:图像如果当作矩阵,那加减乘除处理了矩阵,那图像咋变):从LED冬奥会、奥运会及春晚等等大屏,到手机小屏,快来挖一挖里面都有什么
  • 《计算机网络》实验报告三 UDP协议分析
  • STM32-第八节-TIM定时器-4(编码器接口)
  • C++虚函数易错点整理
  • Python dataclass 高阶用法与技巧
  • springboot-profile
  • Direct3D 11学习(一)
  • 数学专业转行做大数据容易吗?需要补什么?
  • Web服务压力测试工具hey学习一:使用方法
  • 如何解决pip安装报错error subprocess-exited-with-error问题
  • 力扣面试150题--搜索插入位置
  • 30天打牢数模基础-灰色预测模型讲解
  • BLIP、InternVL Series(下)
  • Eureka+LoadBalancer实现服务注册与发现
  • JavaScript 对象操作、继承与模块化实现
  • RCE随笔(1)
  • 使用 Pyecharts 绘制精美饼状图:从基础到高级技巧
  • 【LeetCode 热题 100】236. 二叉树的最近公共祖先——DFS
  • Effective Python 条款13:通过带星号的unpacking操作来捕获多个元素,不要用切片
  • 构建一个简单的Java框架来测量并发执行任务的时间
  • 深入浅出理解动态规划
  • The FastMCP Client