Lua在编译时执行“require”吗?

当在Lua中调用“require”时,文件是否只是被复制到当前文件中(类似于在C中包括“*.h”)还是在运行时由VM执行?

点赞
用户734069
用户734069

require不是Lua语言的一部分,它只是Lua标准库中的函数调用。所有函数调用都在运行时执行。

毕竟,require不加载文件;软件包系统的加载器在加载文件。这些加载器可以在运行时更改,所有在更改后的require调用都会反映它们。一些加载器基于环境变量,其值可以在Lua程序的多次执行之间更改。每次执行脚本,无论是预编译还是不预编译,都将看到这些更改。

2019-12-30 02:21:13