在Corona中调用外部文件时出错

时间:2013-10-09 08:01:14

标签: lua corona

parser.lua我有一个功能:

local function parsefile()
...
end

main.lua我有以下内容:

local parser = require "parser"
parser.parsefile()

main.luaparser.lua都在同一目录中。当我运行main.lua时,我收到以下错误:

  

尝试索引本地'解析器'(布尔值)

我做错了什么?

3 个答案:

答案 0 :(得分:0)

parser.lua

中添加以下语句
return _G

或者,也可以将parser.lua编辑为:

local tParseFunctions = {}
function tParseFunctions.parsefile()
    -- ...
end
function tParseFunctions.anotherFunction()
    -- body
end
return tParseFunctions

答案 1 :(得分:0)

您无法从其他模块访问模块的本地功能。只需从parser.lua文件中删除“local”

即可

答案 2 :(得分:0)

其实我会这样做:

-- parser.lua
local M = {}
function M.parseFile()
  ...
end

return M

在main.lua:

local parser = require("parser")
parser.parseFile()