module
モジュールを定義する
lua
module (name [, ...])説明
新しいモジュールを作成・定義します。package.loaded[name] にテーブルが既に存在する場合、そのテーブルをモジュールとして使用します。存在しない場合は、指定された名前のグローバルテーブルを作成または再利用し、それをモジュールとして設定します。
モジュール名がドットで区切られた複合名(例:"my.module.name")の場合、各部分に対してテーブルを作成し、ネストした構造を構築します。オプションの引数として、モジュールに適用する関数(例:package.seeall)を指定できます。
補足
module関数は Lua 5.1 で導入されましたが、Lua 5.2 以降では廃止されました。LuaJIT は Lua 5.1 と互換性があるため、module関数を使用できますが、新しいコードでは推奨されていません。- モジュールを定義する際には、
module関数の代わりに、モジュールの内容をテーブルとして定義し、return文で返す形式が一般的です。
サンプルコード
lua
module("mymodule")
print(_NAME) -- mymoduleこの例では、mymoduleという名前のモジュールを作成し、モジュールの名前を表示します。
互換性
- Lua 5.1