[クラス識別子] before | after 参照

beginning of | end of リスト

引数(Parameters)

クラス識別子指定するオブジェクト
(デフォルト:insertion point)
参照基準とするオブジェクト
リスト対象となるリスト

解説(Note)

 基準オブジェクトの前後を指定する参照形式。番号参照ができるオブジェクトならば、この参照方式も使えると考えてよい。

 最初の書式は、オブジェクトそのものでは無く、オブジェクトとオブジェクトの間を指定できるのが特徴であり、特にテキストエディタ等で威力を発揮する。が、適用できないオブジェクトの方が多い。
 クラス識別子を指定した場合は、オブジェクトも指定でき、この場合は、ほとんどのオブジェクトで使用可能となる。
 この参照を使うと、文章の途中に文字列を追加するような作業が楽にできる。ただし、残念ながら変数の文字列に対しては使用できない。エディタのウィンドウに含まれる文書等の、オブジェクトに含まれるテキストに対して行う。

「before」の代わりに「[in] front of」が使え、「after」の代わりに「[in] back of」又は「behind」が使える。これはより自然な英語のように書くために用意されているもので、機能に違いは無い。

 二番目の書式は、リストや一部のオブジェクトに対してしか使えないが、かなり有用な形式である、何故か言語ガイドには書いて無い。
 値を取り出した場合は、単に最初の値か、最後の値が取り出されるだけだが、この参照方式を使うと、リストに値を追加する場合に「set theList to theList&newItem」と書く所を「set end of theList to newItem」と書くことができ、実行スピードも速い。
 直接に文字列には使えないが、一旦as演算子を使ってリストにして、結合処理が終わったところで、文字列に戻すと言う方法が使える。

用例(Example)

  1. end of {"ゼータ", "ミュー", "オメガ"}
  2. set x to {1,2,3}
    set beginning of x to 0
    x
  3. tell application "スクリプティング対応エディタ"
    	set text of front document to "start"
    	set after last word of front document to "end"
    end tell
※1,2 結果ウィンドウでResultを見て下さい。
※3 適当な、AppleScript対応エディタを使って下さい。