import - lua 在编译期间是否执行“require”?
问题描述
在 Lua 中调用“require”时,文件是简单地复制到当前文件中(类似于 C 中包含“*.h”)还是由 VM 在运行时完成?
解决方案
require
作为一种语言,它不是 Lua 的一部分。它只是 Lua 标准库中的一个函数调用。并且所有函数调用都在运行时执行。
毕竟,require
不加载文件;包系统的加载器可以。这些加载器可以在运行时更改,并且require
此类更改后的所有调用都会反映它们。一些加载器基于环境变量,其值可以在Lua 程序的执行之间改变。脚本的每次执行,无论是否预编译,都会看到这些变化。
推荐阅读
- r - R基本功能点()可以复制
- python - 在输出之前拼合邮件合并的文档
- scala - 使用scala在hdfs中锁定文件生成
- javascript - 我无法将事件绑定到元素
- c# - 仍在学习 'System.StackOverflowException' 被抛出。
- php - 如何通过从数据库中获取电子邮件 ID 及其 smtp 配置来使用 phpmailer 发送电子邮件
- android - 我需要摆脱我的 build.gradle 文件 Android Studio 中发生的突出显示。我该怎么做呢?
- regex - 如何忽略除符号“/”之外的域区域之后的所有内容
- javascript - 饼图中的负值
- php - HTTP post 请求以发送数据并获取响应 (API)