私の現在のプロジェクトでは、私のmain.lua
の最上部にdofile()を実行することで、プロジェクトにいくつかの構文をグローバルに追加しようとしています。私はプロジェクトでグローバルとして追加しようとしているものを使用する3番目のファイルを要求しています。これを行うとエラーattempting to index the global value
が表示されます。dofileを使用して、同時に使用する
は例えば、以下の例では、私が作る試みでdofile()を使用TEST1:こんにちは()グローバル私のプロジェクト内で使用可能な、まだtest2.luaを必要とする過程で、私はエラーが表示されます。
PANIC: unprotected error in call to Lua API (test2.lua: attempt to index global 'test1' (a nil value))
この場合、test1は既にグローバルとして存在していてはなりませんか?どうすればこの問題を回避できますか?
main.lua:
dofile('test1.lua')
require('test2')
test1.lua
test1 = {}
function test1:hello()
print("hello")
end
test2.lua
module('test2')
test1:hello()
私はそのパッケージを必要としていたようです。私はmodule( 'test2')呼び出しがその問題の原因になることに気づいていませんでした。モジュール宣言を削除することも同様に機能することが判明しました。ありがとう! –