ModuleLoader は AppleScript のライブラリシステムです。必要最小限の記述で外部のライブラリ/モジュールとしてのスクリプトをロードすることができます。
OS X 10.9 から AppleScript にライブラリ機能がサポートが追加されました(AppleScript Libraries) 。ModuleLoader は、それ以前の2006年から継続的に開発/メンテナンスされてきたライブラリシステムです。おおよそ AppleScript Libraries と同じことができます。
すなわち、
- 決められた場所からライブラリを検索して、スクリプトオブジェクトとしてロードすることができます。
ホームフォルダ以下の及びルートディレクトリ以下の
- Library/Scripts/Modules
- Library/Script Libraries
からライブラリを探します。
- ライブラリが必要としているライブラリもロードします。
- ロードするライブラリのバージョンを指定できます。
OS X 10.9 以降では、AppleScript Libraries がファーストチョイスになるでしょう。ModuleLoader は、AppleScript Libraries と共に使うことができ AppleScript Libraries に次のような機能を追加します。
- コンパイル時にすべてのライブラリの読み込み、ライブラリを組み込んだまま保存できます。
- ライブラリすべて property に収め、実行時のライブラリ及び ModuleLoader への依存性なくして、他のコンピュータへの配布に都合のスクリプトを簡単に作れます。
- ライブラリを指定したタイミングで強制的にリロードさせることができます。
- テキストファイルやアプレット、ドロップレットもモジュール/ライブラリとして扱えます。
- 任意の場所をライブラリの検索場所に設定できます。
変更点:
- スクリプティング機能追加ではなく、AppleScript Library とバックグラウンドアプリケーションによる実装に変更。
- macOS 10.4 の SIP でスクリプティング機能追加が使えなくなったため。
- 構文の変更:
- property ModuleName : module → property ModuleName : "@module"
- boot (module loader) for me → script "ModuleLoader"'s setup(me)
- 詳細はマニュアルで確認してください。