访问其他文件中的Lua函数

嗨,我想将我的 Lua 文件分成两个文件。一个保存我的函数,另一个可以调用它们。我已经进行了大量的研究,所有我发现的资源都没有很详细地解释这个过程。它们通常会建议使用:

require "subsystem.lua"

我将其放置在保存在相同目录下的新 Lua 文件的顶部,但无法访问任何内容。

我需要修改配置文件吗?它在哪里?

点赞
用户1442917
用户1442917

你需要做的是返回一个表格,其中包含在 subsystem.lua 中要访问的字段,然后在主文件中分配和使用那个表格中的字段。具体操作如下:

-- subsystem.lua

local function doSomething()
  -- 在这里做一些有用的事情
end

local function doMore()
  -- 做一些其他有用的事情
end

return { doSomething = doSomething, doMore = doMore }

-- main.lua

local subsystem = require "subsystem" -- 不要在你的 `require` 调用后添加 `.lua`
subsystem.doSomething()
subsystem.doMore()

你可能需要查看模块教程了解详情。

2016-01-06 23:48:36
用户107090
用户107090

你可能想要使用 dofile 而不是 require

dofile 接受文件名和路径。

require 接受模块名并使用 Lua 搜索路径。

2016-01-06 23:53:30