【发布时间】:2020-04-18 13:14:13
【问题描述】:
在 Lua 中调用“require”时,是简单地将文件复制到当前文件中(类似于 C 中包含“*.h”)还是由 VM 在运行时完成?
【问题讨论】:
-
在运行时由VM完成
标签: import lua compilation runtime require
在 Lua 中调用“require”时,是简单地将文件复制到当前文件中(类似于 C 中包含“*.h”)还是由 VM 在运行时完成?
【问题讨论】:
标签: import lua compilation runtime require
require 不是 Lua 语言的一部分。它只是 Lua 标准库中的一个函数调用。并且所有函数调用都在运行时执行。
毕竟require 不加载文件;包系统的加载器可以。这些加载器可以在运行时更改,并且在此类更改之后的所有require 调用都会反映它们。一些加载器基于环境变量,其值可以在 Lua 程序的执行之间更改。脚本的每次执行,无论是否预编译,都会看到这些变化。
【讨论】: