Может кто-нибудь объяснить, почему это не работает?AppleScript: Показать файл POSIX с переменной
tell application "Finder"
set myFile to "/Users/"
reveal POSIX file myFile
end tell
Это изменение будет работать:
reveal myFile as POSIX file
Странно, что обе версии работают без переменных:
reveal POSIX file "/Users/"
reveal "/Users/" as POSIX file
Что происходит?
Это в значительной степени. Прежде всего, что происходит, когда речь идет о строковых литералах, это, вероятно, компилятор Applescript, переводит эту и промежуточную форму, а затем видит, что она должна делать, чтобы заставить ее работать. Для других случаев с переменными он видит файл Posix var, он переводит его в aha: теперь я получаю переменную класса cfurl (File: // path/to/your/file), но ее нет, просто регулярный путь posix, а затем он терпит неудачу. Когда он ** принудительно **, то он берет ваш путь posix и преобразует его в cfurl (File: //your/file.txt) и передает это значение * как * cfurl. – McUsr