2013-10-09 56 views
1

parser.lua外部文件我有一個函數:錯誤調用電暈

local function parsefile() 
... 
end 

main.lua我有以下幾點:

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

兩個main.luaparser.lua在同一個目錄下。當我運行main.lua時出現以下錯誤:

attempt to index local 'parser' (a boolean value)

我在做什麼錯?

+0

對於範圍在Lua最好的信息看這個http://www.youtube.com/watch?v=b12YEOIry60 – DogCoffee

回答

0

添加以下語句在parser.lua

return _G 

,或者編輯parser.lua喜歡的東西:

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

你不能從其他模塊到達模塊的本地功能。剛剛從parser.lua文件中刪除「本地」

0

其實我會做這種方式:

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

return M 

在main.lua:

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