module 化すると、モジュールファイルの中では、グローバル変数が使えなくなってしまうので、
それを使えるようにするために package.seeall がある。
事実上第2引数には、package.seeall 以外は指定出来ない。
モジュール名.lua というファイルに作るのが良い。
このモジュールには、_M, _NAME, _PACKAGE にそれぞれ、モジュールテーブル、モジュール名、パッケージ名が格納される。
local m = require "io" m.write("hello world\n") for w in pairs(m) do print(w) endのような形となる。
package.loaded( ) で判定可能。(有効な値[通常テーブルのアドレス])が入っている。
たとえば、package.loaded["io"]
たとえば、
require "sql"と書いた場合、
の順番で検索する。
たとえば、
require "sql"と書いた場合、
の順番で検索する。
Luaモジュール用のパスは環境変数 LUA_PATH で設定が可能。
その際には、LUAのデフォルトのパスは「;;」で付け加えることが可能
Cモジュール用のパスは環境変数 LUA_CPATH で設定が可能。
その際には、LUAのC系検索デフォルトのパスは「;;」で付け加えることが可能。