参照リスト whose | where | that 真偽値
参照リスト | アプリケーションオブジェクト |
真偽値 | オブジェクトに関する条件式 |
オブジェクトの属性などを利用してフィルタをかける参照形式で、参照リストで指定されたオブジェクトのうち、条件式に合致するものだけが指定される。
参照リストには、アプリケーションのオブジェクトを指定し、エイリアスやファイル参照を使うことはできない。
条件式には、対象となるオブジェクトを指すitというシステム変数が使え、例えば、「version of it」とか「it's name」等と使う。オブジェクトの指定を省略した場合、対象のとなるオブジェクトが補完されるので、例えば「version」とか「name」とか、属性のみを書くことができる。ただし、オブジェクトそのものを条件式の対象にしたい場合、itは省略できない。
whereとwhose,thatの間には機能的な違いは全く無く、自然な英語になるように用意されている。
勿論、条件式にはandやor等を使った、複雑なものを指定することもできる。
条件に合うオブジェクトが無かった場合は、空のリストを返す。
アプリケーションが対応していないなどの理由で、この指定形式が使えないオブジェクトの場合は、repeatとif〜thenを使って処理することになる。
オブジェクトの種類で分けたい時は、通常全要素(every)参照形式を使う。
tell application "Finder"
folder 1 thru 5 of selection where label index of it = 0
end tell
tell application "Finder"
every item of extensions folder whose name contains "apple"
end tell