結果(Result)

current applicationなぜか識別子そのまま

解説(Note)

 スクリプトは常になんらかのアプリケーションの下で実行される。
 それは、スクリプト編集プログラムであったり、アプレットであったり、HyperCardであったり、様々であるが、それを指定するのがこの文である。
 具体的にはtellpath to命令の引数に使える。

 parentシステム変数のデフォルトの値とほぼ同じなので似たように使えるが、parent属性を設定した場合、値が異なってくる。

 meシステム変数は現在のスクリプトオブジェクトを指すのに対し、 current applicationは現在のアプリケーションを指すのが違いだが、path to命令で使用した場合、同じ結果となる。

 tellの場合結果は異なる。
 スクリプトオブジェクト内で実行した場合、meは現在のスクリプトオブジェクトを指すが、current applicationはスクリプトが含まれるアプリケーションを指す。
 履歴を見ると、tellで別のアプリケーションを指定するか、parent属性にアプリケーションを指定しない限り、常にメッセージが発せられるのがcurrent applicaitonであることが判る。
 これは、of current applicaitonと書くと、構文確認で消えることでも確認できる。

 一応システム変数として分類したが、変数では無いようだ。
 言語ガイドに、ちらっと出てくるが詳しい説明は無い。

用例(Example)

  1. path to current application
  2. tell current application
    	-- 通常tellしてもしなくても同じ
    end tell
※1 結果ウィンドウでResultを見て下さい。