script 文字列
«script xxxx»
文字列 | ライブラリスクリプト名(Mac OS X10.9以降) |
xxxx | 定義名(最初に代入される変数名と同じ) |
class | クラス識別子[r/o] |
クラス(当然script) | |
parent | 識別子 |
親スクリプトオブジェクト(デフォルト: AppleScript) | |
name | 文字列 |
名前(Mac OS X10.9以降) | |
id | 文字列 |
バンドル識別子(Mac OS X10.9以降) | |
version | 文字列 |
バージョン(Mac OS X10.9以降) | |
スクリプト属性 | 様々な値 |
利用者が定義した属性 |
スクリプトオブジェクトは、利用者が属性と命令を定義し利用するオブジェクトである。とは言え、その実体は値の一種であり、アプリケーションに定義されているオブジェクトとはかなり振る舞いが異なるので、注意して欲しい。
設定方法についてはscript文(それからproperty文、parent属性とcontinue命令)を参照してほしい。
OSAXのload script命令を使って呼び出す方法もある。
Mac OS X10.9(AppleScript2.3)からは、use文かscriptを使ってスクリプトライブラリのスクリプトを利用する方法が追加された。
詳細は、スクリプトライブラリを参照。
このクラスはアップルイベントの生データとしてしか扱えない。
スクリプト自身(me)は«script»というスクリプトオブジェクトである。
load scriptで読み込んだスクリプトオブジェクトも«script»と表現されるが、スクリプト自身(me)とはちゃんと区別される。(例2)の結果はfalseである。
スクリプトの中で定義されたスクリプト(例3)は、script 1 of «script»のように使えそうだが、«script x»という風に扱われる。
スクリプトオブジェクトの中で定義されたスクリプトオブジェクトは、その識別子をofで連結して指定する(例4)
このオブジェクトを上手く使っていくことが、オブジェクト指向プログラミングの真骨頂となるのだが、なかなかお目にかからない値ではある。
スクリプトが大規模になればなる程、威力を発揮する。
class of me
set x to load script (choose file)
x = me
a reference to x
script x
end script
y of x
script x
script y
end script
end script