2013-04-04 61 views
0

我在Lua中有兩個文件的問題。 FILEA可能看起來像這樣:需要一個使用在另一個Lua文件中聲明的函數的Lua文件

require "FileB" 
local function foo(bar) 
    -- random stuff 
end 

而且FILEB看起來像這樣

foo(bar) 

但一個錯誤彈出,說foo是無效的功能。有沒有解決這個問題?

+0

這可能有助於[如何創建包括在Lua語言文件?(http://stackoverflow.com/questions/2932172/how-to-create-include-files-in-lua-language) – graphite 2013-04-04 06:32:02

回答

1

通常的做法是將函數放在所需的文件中,而不是調用代碼。

無論如何,因爲您有上面的代碼,所以在定義它之前您正在調用foo。所以移動foo的定義下面的require,不要使用local。

function foo(bar) 
    -- random stuff 
end 

require "FileB" 
+1

這是行不通的,因爲foo是本地的,不能在調用全局foo的FileB中看到。 – lhf 2013-04-04 10:53:22

+0

-1:對於無功能,每lhf的評論。 – 2013-04-04 12:20:54

相關問題