私は現在、特にLOVE2Dを使って、Luaでかなり詳細なプロジェクトを進めています。私は現在、私のプロジェクトのさまざまな部分にアクセスするためにrequire'file'
を使用していますが、これは非常に貧弱な形式のようです。私は同じ名前の異なるファイルからテーブルを上書きするという問題に遭遇しました。これを行うには、専門的でクリーンな方法が必要ですが、私はそれを見つけることができませんでした。誰かが私を助けることができますか?Luaの別のファイルから関数/変数/テーブルを呼び出す
0
A
答えて
3
を使用すると、require
はです。正しい方法です。
モジュールは、読み込まれたときに実行される関数と考えることができます。戻り値はキャッシュされ、後続の要求コールで返されます。関数の範囲を制限するために変数local
を使用するのと同じように、モジュール内で同じことを行うことができます。
私はあなたのモジュールがグローバルテーブルとして実装されている推測している:
mymodule = {}
function mymodule.foo()
return 'bar'
end
そして、あなたは次のようにモジュールをロード:ちょうどlocal
変数にモジュールテーブルを変更し、それを返す
require 'mymodule'
:
local mymodule = {}
function mymodule.foo()
return 'bar'
end
return mymodule
次に、任意の名前でモジュールを読み込むことができます。
local mymodule = require 'mymodule'
グローバル変数を作成しないため、他のモジュールを上書きする心配はありません。
上記の例は、lua-users.orgのWebサイトのModule Tutorialからのものです。モジュールの作成に関する詳細はこちらをご覧ください。また、How to write Lua modules in a post-module() worldも読む価値があります。
関連する問題
- 1. jQueryの - 変数別の関数から関数の変数を呼び出す
- 2. Lua - C++インテグレーション:C++のテーブルの関数を呼び出す
- 3. Luaスクリプトの特定の関数をcから呼び出す
- 4. lua - 別のモジュールからmain.lua内の関数を呼びたい
- 5. PostgreSQLの別の関数からテーブル関数を呼び出すには?
- 6. luaのmoonscriptから関数を呼び出す方法は?
- 7. 別の関数呼び出しで関数を呼び出す
- 8. 関数内の変数を別の関数に呼び出す#
- 9. 別のWebサイトのCSFファイルから関数を呼び出す
- 10. Javascript:別のファイルからD3内の関数を呼び出す
- 11. ある関数から別の関数に変数を呼び出す(Python)
- 12. pythonからtorch7(Lua)関数を呼び出しますか?
- 13. 別のPHPファイルから関数を呼び出す方法は?
- 14. 別のJSファイルからJavascript関数を呼び出す方法
- 15. 別の.jsファイルからjavascript関数を呼び出す
- 16. 別のファイルから関数を呼び出す方法は?
- 17. 別のファイルから関数を呼び出す
- 18. 別のjsファイルからjavascript関数を呼び出す
- 19. 別のファイルからphp関数を呼び出す方法は?
- 20. 別のファイルから関数を呼び出す
- 21. 別の "クラス" /ファイルから関数を呼び出す
- 22. 別のphpファイルからmysqli関数を呼び出す
- 23. 別のCファイルから関数を呼び出す
- 24. React、別の関数内からクラス関数を呼び出す
- 25. 別の関数から関数を呼び出す
- 26. 別の関数ファイルの関数を呼び出す - matlab
- 27. C++からLua関数を呼び出す
- 28. JavascriptからLua関数を呼び出す方法
- 29. Luaプログラムからpython関数を呼び出す
- 30. LuaスクリプトからC#関数を呼び出す方法は?
同じ名前のモジュールが2つありますか?同じ名前の2つのグローバルテーブルだけ?あなたの質問を明確にする例を挙げてください。 –