如何让 Lua 加载另一个 lua 脚本?

我正在尝试将 Lua 5.2 嵌入到我的C程序中。

我想让 Lua 脚本能够 require 和加载另一个脚本。应该如何做呢?

假设 Lua 部分具有以下文件结构:

lua_script
  - main.lua
  + utils
    - custom_loader.lua
  + globals
    - scene_globals.lua
    - scene_levels.lua

main.lua 将尝试从 custom_loader.luarequire 和导入函数,依此类推...

是否可以在不编写C包装器的情况下实现这一点? Lua脚本是否可以自动加载其所有需要的内容?

(附注,我目前不是真的需要沙盒,所以允许脚本做它想做的事情。)

点赞
用户1479549
用户1479549

如 Lua 的 require 文档所述,它会在一个路径中寻找文件。

这个路径可以在 C 语言中被定义。可以参考这篇文章:"Setting the global LUA_PATH variable from C++/C"

require 函数非常方便地加载在 .lua 文件中定义的模块和库。

2017-01-13 12:48:57