module_loaded_by ハンドラ|ModuleLoader Reference

プロジェクト固有のライブラリ

プロジェクト感で共有されるライブラリは 「ライブラリ/Scripts Libraries」 や 「ライブラリ/Scripts/Modules」 フォルダに置かれるべきですが、特定のプロジェクトでだけ使われるライブラリもあるでしょう。Local Loader 機能を使うと、特定のプロジェクト専用のライブラリの場所を用意することができます。

まず、あるプロジェクト専用のモジュールの置くフォルダを用意します。その中に、次のスクリプトをアプレット(Local loader アプレット)として保存します。

property parent : script "ModuleLoader"'s local_loader()

Local Loader アプレットは、保存するときのオプションを、

としてください。

そして、この Local Loader アプレットと同じ場所に、プロジェクト固有のライブラリを起きます。

次のように、Local Loader アプレットから loader() ハンドラで loader スクリプトを取得すると、Local Loader アプレットが置かれている場所からライブラリを探し始めます。

property LibForLocalLoader : "@module"
property _ : application (get "SampleLocalLoader")'s loader()'s setup(me)

LibForLocalLoader's replace_text("How now brown cow", space, "-")
-- result : "How-now-brown-cow"

ライブラリの場所をパス文字列ではなく Local Loader アプレットで指定することによって、ライブラリの置き場所を自由に変更できます。

Local Loader オプション

特別な property を設定することにより、local loader の振る舞いをカスタマイズすることができます。それらは、loader スクリプトの setup ハンドラを実行する前に定義されている必要があります。

property LibForLocalLoader : "@module"
(* making alias files of loade libraries under the folder Local Loader applet is in *)
property _collecting_modules_ : true
(* find libraries only from the folder the Local Loader applet is in *)
property _only_local_ : true

application (get "SampleLocalLoader")'s loader()'s setup(me)

_collecting_modules_

true を設定すると、「 ライブラリ/Scripts Libraries 」フォルダや「 ライブラリ/Scripts/Modules 」フォルダからロードされるライブラリのエイリアスを、Local Loader アプレット がある場所につくります。つまり、必要なモジュールを一カ所に集めることができます。

デフォルトでは、false が設定されています。

_only_local_

true を設定すると、ライブラリを探す場所を Local Loader アプレットがある場所に限定します。デフォルトでは false です。

_collecting_modules_ に true が設定されている場合は無効になります。

module_loaded_by ハンドラ|ModuleLoader Reference