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 tell
Again, 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.
Get AppleScript: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.