File Coercions
The various coercions and other forms of conversion that are and are not possible between a file specifier, a POSIX file (file URL ), an alias , and a string or Unicode text (which might represent a Macintosh pathname or a POSIX pathname), are enough to make your head swim. The trouble is that there are many things you can't do; at the same time, there's always a workaround if you're willing to jump through hoops.
A Macintosh pathname string can be used to form a file specifier or alias. (A file specifier cannot be assigned to a variable or displayed as a result, but a reference to it can be.) A POSIX pathname string can be used to form a POSIX file specifier. (See Chapter 13.) As I pointed out earlier in the chapter, these are not coercions.
An alias can be coerced to a string representing its Macintosh pathname, and its POSIX path property is a string representing its POSIX pathname. An alias cannot be coerced to a file object, but a string can be used as an intermediary to form a file specifier:
set a to alias "gromit:Users:matt2:reason:Resources:" POSIX path of a -- "/Volumes/gromit/Users/matt2/reason/Resources/" a as string -- "gromit:Users:matt2:reason:Resources:" a reference to file (a as string) -- file "gromit:Users:matt2:reason:Resources:" of «script»
A Macintosh pathname can be coerced to an alias. (The item denoted by the pathname must exist at runtime; see Chapter 13.)
set s to "gromit:Users:matt2:reason:Resources:"
s as alias -- alias "gromit:Users:matt2:reason:Resources:" ...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