Из-за моей слегка навязчивой индивидуальности я терял большую часть своего продуктивного времени до одной маленькой проблемы.AppleScript: «файл уже открыт», но «файл не был открыт»
Недавно я перешел с Mac OS X Tiger на Yosemite (да, это довольно большой скачок). Я не думал, что AppleScript сильно изменился, но я столкнулся с проблемой, которую я не помню в прежние времена. Я имел следующий код, но с действительным FilePath:
set my_filepath to (* replace with string of POSIX filepath, because typing
colons was too much work *)
set my_file to open for access POSIX file my_filepath with write permission
Остальная часть кода была ошибка, которую я разрешенное довольно легко, но из-за ошибки остановил сценарий перед командой close access
, и конечно AppleScript осталось ссылка на файл открыта. Поэтому, когда я снова попытался запустить скрипт, мне сообщили о синтаксической ошибке: файл уже открыт. Этого следовало ожидать.
У меня возникла проблема с попыткой закрыть ссылку: независимо от того, что я сделал, я получил сообщение об ошибке, заявив, что файл не был открыт. Я пробовал close access POSIX file (* filepath string again *)
, close access file (* whatever that AppleScript filepath format is called *)
, и так далее. В конце концов я решил проблему, перезагрузив компьютер, но это не совсем элегантное решение. Если никакое другое решение не представится, то так оно и есть; однако по интеллектуальным и практическим причинам меня не устраивает перезагрузка, чтобы закрыть доступ. Кто-нибудь знает о этой проблеме?
Я подозреваю, что упустил из виду нечто очевидное.
Редактировать: Подождите, нет, мой переключатель не был напрямую от Tiger; У меня была промежуточная стадия в Snow Leopard, но тогда я не делал много сценариев. Я понятия не имею, насколько это актуально.
Альтернативой перезапуску редактора сценариев является покупка отладчика сценариев, который, я считаю, позволит вам закрыть «пропущенные» обработчики файлов после предоставления вам предупреждения. Моя версия 4.5 (устаревшая) делает это как минимум. – McUsr