最初にそれを要求することなく、プロジェクト内の任意のモジュールからアクセスできる関数を Lua に持つ方法はありますか?
何かのようなもの:
module(..., package.seeall);
function globFoo()
print('global foo called');
end
メインのように、どこか他の場所から呼び出されます
--main
globFoo();
それを必要とせずに?
モジュールは単なる Lua スクリプトです。そこでは何でもできます。module
モジュール スクリプトを呼び出す必要さえありません。確かに、最近module
では一般的に有害であると考えられているため、Lua 5.2 で廃止されました。
本当に、コードを移動するだけの問題です。
function globFoo()
print('global foo called');
end
module(..., package.seeall); --Module created after global function
そうです、モジュールにグローバルテーブルを変更させることができます。そうしないことを強くお勧めします (Lua スクリプト間に暗黙的な順序付けが作成され、どのスクリプトがどのようなものを使用しているかを知るのが難しくなるため)。しかし、あなたはそれを行うことができます。