Properties of Multiple References
When an element specifier would return a list of references, it may be possible to ask for a property of this list as a shorthand for asking for that property of each element of the list in turn.
For example, this works, and returns a list of strings, the names of each disk in turn:
tell application "Finder" to get name of every disk
Here’s another example. Recall that when you ask
BBEdit for a word, you get a
reference. If you just want to know the word itself—that is,
its text—you ask for its contents. You can
combine these operations to get a list of words and translate them
into their contents:
tell application "BBEdit"
tell text 1 of window 1
get contents of every word whose contents contains "t"
end tell
end tellAgain, this a tremendously powerful construct where a single Apple event causes the target application to do a lot of work for you. And again, you can’t be certain this construct will be implemented until you try it. If it isn’t, the workaround is to obtain the list of references and then cycle through it yourself, obtaining the desired property for each reference one at a time. That involves many Apple events, though, so it’s a poor substitute.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access