在 C 语言中,我们使用#include
语句和using
C# 中的语句来附加它的内置函数。但是在 Lua 中,我们不需要做任何事情,然后我们可以使用coroutine
, table
,io
等。
2 回答
4
这是因为 Lua 为您“预导入”了一些库。您可以重新配置您的 Lua 副本以加载一组不同的库。lualib.h
有关预加载库的列表,请参见Lua 发行版中的文件。
于 2019-08-21T15:57:07.623 回答
2
Lua 解释器通过在运行程序之前调用luaL_openlibs将所有基本函数和库表导出到 Lua程序。
编辑:
为什么不是所有语言都这样做?
这是一个权衡。如果一种语言默认公开其整个标准库,它可以为我们节省大量样板文件。另一方面,它会污染命名空间,占用更多内存,增加启动时间。Lua 的标准库很小,所以成本并不高。大多数编译语言都试图尽可能精简,所以它们让我们显式地导入所有内容。
于 2019-08-21T15:57:07.333 回答