Skip to content

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

関連項目