10.10 Изменения

Эта статья описывает изменения в AppleScript и связанных инструментах в OS X Yosemite v10.10.

Улучшения

AppleScript

Создание отчетов прогресса

AppleScript теперь имеет встроенную поддержку создания отчетов о прогрессе сценария. Глобальная переменная AppleScript объект имеет четыре новых свойства:

  • progress total steps (целое число)

  • progress completed steps (целое число)

  • progress description (текст)

  • progress additional description (текст)

Сценарий может установить любое из этих свойств в любое время во время сценария для обновления дисплея прогресса. progress completed steps разделенный на progress total steps обеспечивает завершенную часть; если completed или total -1, прогресс считают неопределенным. progress description и progress additional description обеспечьте сообщение о том, что делает сценарий.

Точно то, как прогресс выведен на экран, зависит от того, как выполняется сценарий: в Редакторе сценариев это появляется в строке состояния окна сценария; в приложениях сценария (апплеты) это появляется как диалоговое окно прогресса; и для сценариев, выполненных из Меню Сценария, это появляется в меню Script Monitor. (Монитор сценариев появился в предыдущих системных выпусках, но только использовался для потоков операций Automator; это теперь выводит на экран любой сценарий, выполненный с помощью NSUserScriptTask, который включает что-либо выполненное из Меню Сценария.)

Мультивведите приведение

as оператор может теперь принять список типов вместо единственного типа. Например, это выражение возвраты x или как целое число или как текст:

x as {integer, text}

Когда дали список, as оператор обрабатывает список от первого типа до последнего, проверяя, является ли значение экземпляром того типа; если Вы соответствуете, результатом является исходное значение. Если ни один не соответствует, то это снова обрабатывает список от первого типа до последнего, пытаясь принудить значение к тому типу; результатом является результат первого успешного приведения. Если ни один не успешно выполняется, это бросает ошибку.

Введенные и дополнительные параметры

Параметры обработчика AppleScript могут теперь быть объявлены со спецификациями типа следующим именем формального параметра с as введите |{введите …}. Например, Вы могли объявить, что параметр был в частности целым числом как это:

on frotz(x as integer)

Эффект состоит в том, как будто обработчик начался set x to x as integer; если принуждение фактического значения к целому числу перестало работать, AppleScript бросает надлежащую ошибку, которая может быть зафиксирована с a try блок. Тип может быть списком типов, как описано в Приведении Мультитипа выше.

Маркированные параметры могут быть объявлены со значением по умолчанию следующим именем формального параметра с :литерал. Выполнение так делает параметр дополнительным, когда вызвано. Например, это объявляет a make обработчик со значением по умолчанию для with data параметр:

on make new theClass with data theData : missing value

Этот обработчик можно теперь вызвать, не предоставляя a with data параметр; обработчик видел бы theData набор к указанному значению по умолчанию missing value, на который это могло тогда протестировать и обработать соответственно.

Параметр может использовать и спецификацию типа и значение по умолчанию. Например, это объявляет a make обработчик с a with properties параметр, который должен быть записью и имеет значение по умолчанию пустой записи:

on make new theClass with properties theProperties as record : {}

Поддержка AppleScript/Objective-C

AppleScript/Objective-C теперь доступен всем сценариям, не только сценариям библиотеки. Для использования платформы Objective C в сценарии необходимо указать его с a use оператор, такой как use framework "Foundation".

Редактор сценариев

“Редактора AppleScript” еще раз называют Редактором сценариев, теперь, когда AppleScript больше не является единственным языком OSA, включенным в OS X. Посмотрите JavaScript для получения информации о версии Автоматизации для подробных данных.

Средство просмотра словаря может теперь вывести на экран словарь с помощью JavaScript (для JavaScript для Автоматизации) или Objective C (для Сценариев Моста) синтаксис.

Другие улучшения

do shell script может теперь указать пользовательскую подсказку для использования в диалоговом окне пароля. [15194980]

Исправления ошибок

Что касается отрицания из диапазона text item теперь бросает ошибку вместо того, чтобы возвратить пустую строку. [12467195]

path to … команды и AppleScriptObjC теперь работают обычно, когда используется через NSUserScriptTask, такой как из Меню Сценария или Почтового правила. [14271600, 15977267]

Предназначение для приложения идентификатором пакета найдет уже рабочий экземпляр приложения, независимо от того, как капитализируется идентификатор пакета. [15309414]

AppleScript теперь отправляет end transaction событие при отъезде a with transaction блок. Если из блока выходят из-за непойманной ошибки, он отправляет abort transaction событие сначала. [16606423]

Разработчик отмечает

Средство просмотра словаря Редактора сценариев было улучшено для обеспечения более - гибкая встроенная документация. В частности можно теперь чисто задокументировать ряд связанных подэлементов большого класса или команды со многими параметрами.