class | クラス識別子[r/o] |
値の属するクラス(当然reference) | |
contents | 様々な値[r/o] |
指定したオブジェクトの持つ値 |
参照はオブジェクトやその属性の場所を示す住所と言えるもので、通常、オブジェクトを「of」又は「in」で繋いだ形式で、大きなオブジェクトから後ろから前へ記述される。例えば、次のような感じである。
使用日数 of プラグ 2 of エンジン of シャーシ of 車
「's」を使うことにより、前から後ろへ繋いでいくこともできる。例えば、
地球's 海's 海溝 "マリアナ"'s アンコウ ID 4
さらに、「of」と「's」を混在させることもできるが、大いに混乱するので、混在させて使わないことを強く推奨する。
参照はtell文で指定されいる場合、その部分を省略することができる。
通常は変数への代入を行うと、オブジェクトの持つ値が代入され、参照そのものは変数に記録されない(オブジェクトによっては参照が代入される)
しかし、a reference to演算子を使うことによって、確実に参照そのものを変数に格納することができる。
as演算子によって、変換できる値はそれぞれのオブジェクトによって異なる(基本的にできない)
ファイルの参照に関しては、エイリアスを代わりに使うことができる。
リスト形式で「{参照1,参照2,...} of オブジェクト(または値)」のように指定する事もできる。
レコード形式を使い「{識別子1:参照1,識別子2:参照2,...} of オブジェクト(または値)」のように指定する事もできる。
比較演算をする場合は、参照が指定しているオブジェクトの内容では無く、そのまま参照が比較されるので注意。内容を比較したい場合は、次のようにcontents属性を指定する。
contents of 参照 = contents of 参照2
参照には様々な形式があり、それぞれの参照法に付いて解説をしているので、そちらを参考にしてほしい。
second character of word 3 of "this is test word"
tell application "Finder"
disk 1's first folder's name
end tell
{class, length, word 2} of "test string"
{y:year, d:day, t:time} of (current date)