Luaは、多くの言語と同様に、必要なモジュールを検索するための「パス」の概念を持っています。
いくつかの方法で構成できますが、通常は次のようなものです。
./?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/lib/lua/5.1/?.lua;/usr/local/lib/lua/5.1/?/init.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua
=package.path
( Luaプロンプトで入力を確認することで、自分のものが異なるかどうかを確認できます)
デフォルトのパッケージサーチャーは、最初にパッケージ名(この例では「axf.sf」)を取得し、各ドットをOSのディレクトリセパレーターに置き換えます。(Linuxを使用しているため、例では「axf / sf」)。次に、各パターンのを変換されたパッケージ名に置き換え、?
システムに存在する最初のパターンを使用します。
だから、それは検索します
./axf/sf.lua
/usr/local/share/lua/5.1/axf/sf.lua
/usr/local/share/lua/5.1/axf/sf/init.lua
/usr/local/lib/lua/5.1/axf/sf.lua
/usr/local/lib/lua/5.1/axf/sf/init.lua
/usr/share/lua/5.1/axf/sf.lua
/usr/share/lua/5.1/axf/sf/init.lua