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