2017-11-12 23 views
1

Luaに別のモジュールが必要なモジュールをロードできません。私は公式の文書を読むことを試みましたが、それはまだ私には不明です。単一のモジュールを読み込むことは、package.pathの組み合わせを使用してうまく動作します。が必要です。Lua:別の​​モジュールをロードするモジュールをロードできません

./exeDir:tBigを含む行

で機能にあまりにも多くのCレベル(上限は200である)私は、次のように構造化プロジェクトがあります。しかし、にネストされた呼び出しがが失敗し、エラーを生成する必要が.lua

./utils:pkgBig.luaとpkgSmall.lua

pkgSmall.lua

が含まれています

pkgBig.lua

local myPkg = require 'pkgSmall' 

local function titi(s) 
    print('Titi says (followed by dummy): ' .. s) 
    myPkg.dummy() 
end 

local function fifi() 
    print('Calling toto from fifi...') 
    myPkg.toto('FiFi called me') 
end 

pkgBig = 
{ 
    titi = titi, 
    fifi = fifi, 
} 

return pkgBig 

メインスクリプト:

tBig.lua

package.path = package.path .. ';' .. 'pathToUtils/pkgBig.lua' 
local big = require 'pkgBig' 

big.titi(' called from main') 
big.fifi(' pkgSmall test') 

このスクリプトを呼び出すには、 "あまりにも多くのCレベルを..." 生成エラー。

答えて

1

エラーを再現できません。

ただし、pathToUtilsにはモジュール名のパターンが含まれている必要があります。

これは私のために正常に動作します:

確か
pathToUtils = 'utils/?.lua' 
+0

:package.pathは明らかに直接ファイル名とうまく動作しません。これをパターンに変更すると、エラーが消えます。 – ma3oun

+0

私はエラーのorginに重点を置くために質問を編集しました – ma3oun

関連する問題