[クラス識別子] before | after 参照
beginning of | end of リスト
クラス識別子 | 指定するオブジェクト (デフォルト:insertion point) |
参照 | 基準とするオブジェクト |
リスト | 対象となるリスト |
基準オブジェクトの前後を指定する参照形式。番号参照ができるオブジェクトならば、この参照方式も使えると考えてよい。
最初の書式は、オブジェクトそのものでは無く、オブジェクトとオブジェクトの間を指定できるのが特徴であり、特にテキストエディタ等で威力を発揮する。が、適用できないオブジェクトの方が多い。
クラス識別子を指定した場合は、オブジェクトも指定でき、この場合は、ほとんどのオブジェクトで使用可能となる。
この参照を使うと、文章の途中に文字列を追加するような作業が楽にできる。ただし、残念ながら変数の文字列に対しては使用できない。エディタのウィンドウに含まれる文書等の、オブジェクトに含まれるテキストに対して行う。
「before」の代わりに「[in] front of」が使え、「after」の代わりに「[in] back of」又は「behind」が使える。これはより自然な英語のように書くために用意されているもので、機能に違いは無い。
二番目の書式は、リストや一部のオブジェクトに対してしか使えないが、かなり有用な形式である、何故か言語ガイドには書いて無い。
値を取り出した場合は、単に最初の値か、最後の値が取り出されるだけだが、この参照方式を使うと、リストに値を追加する場合に「set theList to theList&newItem」と書く所を「set end of theList to newItem」と書くことができ、実行スピードも速い。
直接に文字列には使えないが、一旦as演算子を使ってリストにして、結合処理が終わったところで、文字列に戻すと言う方法が使える。
end of {"ゼータ", "ミュー", "オメガ"}
set x to {1,2,3}
set beginning of x to 0
x
tell application "スクリプティング対応エディタ"
set text of front document to "start"
set after last word of front document to "end"
end tell